検索結果を効率的に管理し、簡単に識別できるようにすることは、堅牢なドキュメント検索アプリケーションを開発する上で重要な要素です。C# を使用して検索結果を強調表示 すると、検索結果内の関連情報を視覚的に区別して、ユーザー エクスペリエンスを向上させることができます。このガイドでは、C# で検索結果を強調表示 するプロセスについて説明し、一致した用語に視覚的なインジケーターを適用して、ユーザーが必要な情報をすばやく効果的に見つけやすくする方法を示します。
C# を使用して検索結果を強調表示する手順
- GroupDocs.Search for .NET ライブラリを統合して開発環境を設定し、検索結果の強調表示を有効にします。
- IndexSettings オブジェクトをインスタンス化して、ドキュメントのインデックス作成方法を設定します。
- 抽出したテキストを効率的に保存するには、TextStorageSettingsをCompression.Highに設定します。
- Index クラスを使用してインデックスを作成します。インデックス フォルダへのパスと IndexSettings オブジェクトをコンストラクタに渡します。
- Index.Addメソッドを使用して、指定されたフォルダからドキュメントをインデックスに追加します。
- Index.Search メソッドを使用して、「Universe」などの特定のキーワードまたはフレーズを検索します。これにより、検索クエリに一致するすべてのドキュメントを含む SearchResult オブジェクトが返されます。
このプロセスは、ドキュメントから抽出されたテキストを保存するインデックスを設定することから始まります。このインデックスは、高速で正確な検索に不可欠です。IndexSettings を使用すると、効率を維持するために高圧縮のテキスト ストレージを有効にできます。Index オブジェクトが作成され、指定されたフォルダーのドキュメントが取り込まれます。ドキュメントのインデックスが作成されると、特定のキーワードの検索操作を実行できます。たとえば、ドキュメント内の単語「Universe」の出現を強調表示するには、まずインデックス内でその単語を検索します。SearchResult オブジェクトには、キーワードを含むすべてのドキュメントが保持されます。一致するものがあれば、FoundDocument が取得され、蛍光ペンを使用して強調表示が適用されます。一致した用語をテキストに明確に表示するように TermHighlightStartTag と TermHighlightEndTag を設定することで、強調表示形式をカスタマイズできます。このアプローチでは、C# ドキュメントの検索と強調表示 を実行できるだけでなく、関連するテキストの一致を明確にマークすることでユーザー エクスペリエンスが向上します。
C# を使用して検索結果を強調表示するコード
using GroupDocs.Search; | |
using GroupDocs.Search.Common; | |
using GroupDocs.Search.Highlighters; | |
using GroupDocs.Search.Options; | |
using GroupDocs.Search.Results; | |
using System; | |
namespace HighlightSearchResultsUsingCSharp | |
{ | |
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\"; | |
// Creating an index settings instance | |
IndexSettings settings = new IndexSettings(); | |
// Enabling storage of extracted text in the index | |
settings.TextStorageSettings = new TextStorageSettings(Compression.High); | |
// Creating an index in the specified folder | |
Index index = new Index(indexFolder, settings); | |
// Indexing documents from the specified folder | |
index.Add(documentsFolder); | |
// Search for the word 'Universe' | |
SearchResult result = index.Search("Universe"); | |
// Highlighting occurrences in the text | |
if (result.DocumentCount > 0) | |
{ | |
// Getting the first found document | |
FoundDocument document = result.GetFoundDocument(0); | |
// Creating the output adapter | |
StructureOutputAdapter outputAdapter = new StructureOutputAdapter( | |
OutputFormat.PlainText); | |
// Creating the highlighter instance | |
Highlighter highlighter = new DocumentHighlighter(outputAdapter); | |
// Creating the highlight options | |
HighlightOptions options = new HighlightOptions(); | |
// Setting the start tag for the found word | |
options.TermHighlightStartTag = "<Term>"; | |
// Setting the end tag for the found word | |
options.TermHighlightEndTag = "</Term>"; | |
// Generating plain text with highlighted occurrences | |
index.Highlight(document, highlighter, options); | |
DocumentField[] fields = outputAdapter.GetResult(); | |
Console.WriteLine(document.ToString()); | |
for (int i = 0; i < fields.Length; i++) | |
{ | |
// Printing field names of the found document | |
DocumentField field = fields[i]; | |
Console.WriteLine("\t" + field.Name); | |
} | |
} | |
} | |
} | |
} |
C# で検索一致を強調表示する機能は、ドキュメント検索アプリケーションに不可欠な機能であり、ユーザーが関連情報をすばやく見つけることを容易にします。GroupDocs.Search などのライブラリを使用すると、C# で検索一致を強調表示する をサポートする強力で効率的なシステムを実装できます。このアプローチは、検索機能を強化するだけでなく、結果を視覚的に際立たせ、ユーザー操作を改善します。C# で検索と強調表示を実装するのは簡単で、ドキュメント管理システムを開発している場合でも、リアルタイム検索ツールを開発している場合でも、特定のアプリケーションのニーズに合わせて調整できます。
以前、C# を使用してインデックス付きドキュメントを取得する方法についての詳細なガイドを公開しました。完全なステップバイステップのチュートリアルについては、C# を使用してインデックス付きドキュメントを取得する の方法に関する詳細な記事を必ずご覧ください。