大規模なデータセットでの検索を効率的に処理することは、特に数万から数十万のドキュメントを含むインデックスを扱う場合には困難です。この課題を解決するには、C# を使用してチャンク単位で検索を実行する ことです。これにより、データがセグメントごとに処理され、メモリと処理リソースが最適化されます。このアプローチは、大規模なドキュメント コレクション全体にわたる高性能な検索機能を必要とするアプリケーションに特に役立ちます。大規模なインデックスでの C# チャンク検索 を活用することで、開発者はスケーラビリティを維持しながら柔軟で効率的な検索操作を実行できます。
C# を使用してチャンクによる検索を実行する手順
- GroupDocs.Search for .NET をプロジェクトに統合して開発環境を設定し、チャンクによる検索を実行できるようにします。
- インデックスが保存されるフォルダパスを指定して Index オブジェクトを初期化します
- Index.Add メソッドを使用して、指定されたフォルダーのドキュメントをインデックス化し、ドキュメントを検索可能にします。
- SearchOptionsクラスのインスタンスを作成し、IsChunkSearchプロパティをtrueに設定してチャンク検索を有効にします。
- クエリ文字列と設定された検索オプションを使用してIndex.Searchメソッドを呼び出します。
C# でのチャンクによるドキュメント検索 の概念では、検索プロセスを管理可能な部分に分割し、インデックスの各セグメントを個別に処理できるようにします。これは、Index クラスと SearchOptions クラスの組み合わせを使用して実現され、IsChunkSearch プロパティによってチャンク検索が有効になります。以下のコードは、インデックスを作成し、ドキュメントを追加し、チャンク検索クエリを実行する方法を示しています。結果は SearchNext メソッドを使用してセグメントごとに取得され、大規模なデータセットを効率的に処理します。
C# を使用してチャンクによる検索を実行するコード
using GroupDocs.Search; | |
using GroupDocs.Search.Options; | |
using GroupDocs.Search.Results; | |
using System; | |
namespace PerformSearchbyChunksUsingCSharp | |
{ | |
internal class Program | |
{ | |
static void Main(string[] args) | |
{ | |
// Apply the license to remove the restrictions | |
// imposed by the Search library | |
License lic = new License(); | |
lic.SetLicense(@"GroupDocs.Search.lic"); | |
string indexFolder = @"d:\MyIndex\"; | |
string documentsFolder = @"d:\MyDocuments\"; | |
string query = "Einstein"; | |
// Creating an index in the specified folder | |
Index index = new Index(indexFolder); | |
// Indexing documents from the specified folder | |
index.Add(documentsFolder); | |
// Creating a search options instance | |
SearchOptions options = new SearchOptions(); | |
options.IsChunkSearch = true; // Enabling the search by chunks | |
// Starting the search by chunks | |
SearchResult result = index.Search(query, options); | |
Console.WriteLine("Document count: " + result.DocumentCount); | |
Console.WriteLine("Occurrence count: " + result.OccurrenceCount); | |
// Continuing the search by chunks | |
while (result.NextChunkSearchToken != null) | |
{ | |
result = index.SearchNext(result.NextChunkSearchToken); | |
Console.WriteLine("Document count: " + result.DocumentCount); | |
Console.WriteLine("Occurrence count: " + result.OccurrenceCount); | |
} | |
} | |
} | |
} |
チャンク検索は、プロセスをより小さく管理しやすい部分に分割することで、大規模なデータ検索を効率的に処理するための堅牢なソリューションを提供します。このアプローチは、C# で大規模なドキュメント インデックスを検索する必要がある場合に特に役立ち、スケーラビリティとパフォーマンスのメリットをもたらします。さらに、基盤となるライブラリのクロスプラットフォーム互換性により、Windows、macOS、Linux 間でのシームレスな展開が保証されます。この手法を組み込むことで、開発者は、最新のデータ集約型アプリケーションの需要に応える強力で柔軟な検索ソリューションを構築できます。
以前、C# を使用してワイルドカード検索を実行するための包括的なガイドを共有しました。詳細な手順については、C# を使用してワイルドカード検索を実行する に関する記事を必ずご覧ください。