今日のデジタル環境では、大量のドキュメントを正確かつ効率的に検索できることは、多くのアプリケーションにとって重要な要件です。ただし、ユーザーがタイプミスをしたり、別のスペルを使用したり、不完全な情報を入力したりすると、完全一致検索アルゴリズムが不十分になることがよくあります。ここで、あいまい検索が非常に重要になります。あいまい検索は、近似一致を可能にする手法であり、検索クエリとターゲット コンテンツが同一でない場合でも、ユーザーは関連する結果を見つけることができます。開発者は、高度な機能を活用して検索精度を高め、C# を使用してあいまい検索を実行できるようになりました。エンタープライズ グレードのドキュメント管理システム用に C# であいまいロジックを使用してドキュメント検索を構築 する必要がある場合でも、シンプルな検索ユーティリティを作成する必要がある場合でも、この記事では詳細なガイドを提供します。
C# を使用してあいまい検索を実行する手順
- GroupDocs.Search for .NETライブラリを追加して開発設定を構成します。これにより、あいまい検索の実装が容易になります。
- Index オブジェクトを作成して、ドキュメントを整理し、すばやく検索できるように準備する保存場所を定義します。
- Index.Add メソッドを使用して、処理するドキュメントを含むフォルダーを指定して、インデックスにファイルを含めます。
- FuzzySearch.Enabledプロパティを使用してあいまい検索を有効にし、近似一致を許可するように検索オプションを設定します。
- FuzzySearch.FuzzyAlgorithm プロパティを使用して、類似度レベルを持つファジー検索アルゴリズムを定義します。このレベルは、単語の長さに基づいて許容される間違いの数を指定します (例: 10 ~ 14 文字の単語の場合は最大 2 つの間違い)
- クエリとSearchOptionsを使用してインデックスで検索を実行し、一致する結果を取得します。
GroupDocs.Search のあいまい検索は、検索クエリとインデックス コンテンツ間の近似一致を有効にすることで機能します。これは、最大 20% の不一致を許容する 0.8
などの類似度しきい値と、単語の長さに基づいて許容エラーを調整するあいまいアルゴリズムを備えた C# のあいまい検索アルゴリズム を使用して実現されます。これを実行するには、まず開発環境を設定し、ライブラリをプロジェクトに追加します。ドキュメントを格納するインデックスを作成し、検索するファイルを追加します。FuzzySearch.Enabled
プロパティを true
に設定して検索オプションであいまい検索を有効にし、FuzzyAlgorithm
プロパティを使用して類似度しきい値を構成し、許容される不一致のレベルを定義します。最後に、これらのオプションを使用して検索クエリを実行すると、ライブラリは近似一致に基づいて結果を返すため、検索用語のエラーやバリエーションを効果的に処理できます。
C# を使用してあいまい検索を実行するコード
using GroupDocs.Search; | |
using GroupDocs.Search.Options; | |
using GroupDocs.Search.Results; | |
namespace PerformFuzzySearchUsingCSharp | |
{ | |
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); | |
SearchOptions options = new SearchOptions(); | |
options.FuzzySearch.Enabled = true; // Enabling the fuzzy search | |
options.FuzzySearch.FuzzyAlgorithm = new SimilarityLevel(0.8); | |
// Creating the fuzzy search algorithm | |
// This function specifies 0 as the maximum number of mistakes | |
// for words from 1 to 4 characters. | |
// It specifies 1 as the maximum number of mistakes for words | |
// from 5 to 9 characters. | |
// It specifies 2 as the maximum number of mistakes for words | |
// from 10 to 14 characters. And so on. | |
// Search in index | |
SearchResult result = index.Search(query, options); | |
} | |
} | |
} |
結論として、Search ライブラリを使用して C# であいまい検索を実装することは、アプリケーションの検索機能を強化する簡単で効果的な方法です。この .NET 開発者向けのあいまい検索チュートリアル では、カスタマイズ可能なオプションを使用して近似一致を処理する方法を示し、ユーザーが不完全なクエリでも関連する結果を見つけられるようにします。Search ライブラリはプラットフォームに依存しないため、多目的に使用でき、開発者はさまざまな環境で堅牢な検索機能を構築できます。ドキュメント管理システム、検索ユーティリティ、またはインテリジェントな検索を必要とするアプリケーションを開発している場合でも、効率的でユーザーフレンドリーなエクスペリエンスを提供するツールが提供されます。
以前、C# でファセット検索を実装するための詳細なガイドを共有しました。完全なステップバイステップのチュートリアルについては、C# を使用してファセット検索を実行する方法 の詳細な記事をお見逃しなく。