Suchergebnisse effizient zu verwalten und leicht erkennbar zu machen, ist ein entscheidender Aspekt bei der Entwicklung robuster Dokumentsuchanwendungen. Mit Hervorheben von Suchergebnissen mit C# können Sie das Benutzererlebnis verbessern, indem Sie relevante Informationen in Suchergebnissen optisch hervorheben. Diese Anleitung führt Sie durch den Prozess zum Hervorheben von Suchergebnissen in C# und zeigt Ihnen, wie Sie visuelle Indikatoren auf übereinstimmende Begriffe anwenden, damit Benutzer die benötigten Informationen schneller und effektiver finden können.
Schritte zum Hervorheben von Suchergebnissen mit C#
- Richten Sie Ihre Entwicklungsumgebung ein, indem Sie die Bibliothek GroupDocs.Search for .NET integrieren, um die Hervorhebung von Suchergebnissen zu ermöglichen
- Instanziieren Sie ein IndexSettings-Objekt, um die Indexierung von Dokumenten zu konfigurieren.
- Setzen Sie TextStorageSettings auf Compression.High, um den extrahierten Text effizient zu speichern.
- Verwenden Sie die Klasse Index, um einen Index zu erstellen. Übergeben Sie den Pfad zum Indexordner und das IndexSettings-Objekt an den Konstruktor.
- Verwenden Sie die Methode Index.Add, um Dokumente aus dem angegebenen Ordner zum Index hinzuzufügen
- Verwenden Sie die Methode Index.Search, um nach einem bestimmten Schlüsselwort oder einer bestimmten Phrase wie Universe zu suchen. Dadurch wird ein SearchResult-Objekt zurückgegeben, das alle Dokumente enthält, die der Suchanfrage entsprechen.
Der Prozess beginnt mit dem Einrichten eines Index, der extrahierten Text aus Dokumenten speichert. Dieser Index ist für eine schnelle und genaue Suche unerlässlich. Mit IndexSettings ermöglichen wir die Textspeicherung mit hoher Komprimierung, um die Effizienz aufrechtzuerhalten. Das Indexobjekt wird erstellt und mit Dokumenten aus einem angegebenen Ordner gefüllt. Sobald Dokumente indiziert sind, können Sie eine Suchoperation für bestimmte Schlüsselwörter durchführen. Um beispielsweise Vorkommen des Wortes Universe in einem Dokument hervorzuheben, suchen wir zuerst im Index danach. Das SearchResult-Objekt enthält alle Dokumente, die das Schlüsselwort enthalten. Wenn es Übereinstimmungen gibt, wird das FoundDocument abgerufen und ein Textmarker zum Hervorheben verwendet. Sie können das Hervorhebungsformat anpassen, indem Sie TermHighlightStartTag und TermHighlightEndTag festlegen, um die übereinstimmenden Begriffe deutlich im Text anzuzeigen. Mit diesem Ansatz können Sie nicht nur C#-Dokumentsuche und -Hervorhebung durchführen, sondern auch die Benutzererfahrung verbessern, indem relevante Textübereinstimmungen deutlich markiert werden.
Code zum Hervorheben von Suchergebnissen mit 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); | |
} | |
} | |
} | |
} | |
} |
Das Hervorheben von Suchübereinstimmungen in C# ist eine wesentliche Funktion für Dokumentsuchanwendungen, die es Benutzern erleichtert, relevante Informationen schnell zu finden. Durch die Verwendung von Bibliotheken wie GroupDocs.Search können Sie ein leistungsstarkes und effizientes System implementieren, das das Hervorheben von Suchübereinstimmungen in C# unterstützt. Dieser Ansatz verbessert nicht nur die Suchfunktion, sondern macht die Ergebnisse auch optisch unverwechselbar und verbessert so die Benutzerinteraktion. Die Implementierung von Suche und Hervorhebung mit C# ist unkompliziert und kann an die spezifischen Anwendungsanforderungen angepasst werden, unabhängig davon, ob Sie ein Dokumentverwaltungssystem oder ein Echtzeitsuchtool entwickeln.
Zuvor haben wir eine ausführliche Anleitung zum Indizieren von Dokumenten mit C# veröffentlicht. Eine vollständige Schritt-für-Schritt-Anleitung finden Sie in unserem ausführlichen Artikel zu Holen Sie sich indexierte Dokumente mit C#.