A keresési eredmények hatékony kezelése és könnyen azonosíthatóvá tétele kritikus szempont a robusztus dokumentumkereső alkalmazások fejlesztésében. A keresési eredmények kiemelésével a C# használatával javíthatja a felhasználói élményt azáltal, hogy vizuálisan megkülönbözteti a releváns információkat a keresési eredményekben. Ez az útmutató végigvezeti Önt a keresési eredmények C# nyelven kiemelésének folyamatán, és bemutatja, hogyan alkalmazhat vizuális indikátorokat az egyező kifejezésekre, megkönnyítve a felhasználók számára a szükséges információk gyors és hatékony megtalálását.
A keresési eredmények kiemelésének lépései C# használatával
- Állítsa be fejlesztői környezetét a GroupDocs.Search for .NET könyvtár integrálásával, hogy lehetővé tegye a keresési eredmények kiemelését
- Példányosítson egy IndexSettings objektumot a dokumentumok indexelésének konfigurálásához
- Állítsa a TextStorageSettings beállítást Compression.High értékre a kivont szöveg hatékony tárolásához
- Index létrehozásához használja a Index osztályt. Adja át az indexmappa elérési útját és az IndexSettings objektumot a konstruktornak
- Az Index.Add metódus használatával a megadott mappából dokumentumokat adhat hozzá az indexhez
- A Index.Search módszerrel kereshet egy adott kulcsszót vagy kifejezést, például Univerzum. Ez egy SearchResult objektumot ad vissza, amely tartalmazza a keresési lekérdezésnek megfelelő összes dokumentumot
A folyamat egy index beállításával kezdődik, amely a dokumentumokból kivont szöveget tárolja. Ez az index elengedhetetlen a gyors és pontos kereséshez. Az IndexSettings használatával nagy tömörítéssel engedélyezzük a szövegtárolást a hatékonyság megőrzése érdekében. Az Index objektum létrejön, és egy meghatározott mappából származó dokumentumokkal tölti fel. A dokumentumok indexelését követően keresési műveletet végezhet adott kulcsszavakra. Például, hogy kiemeljük az Univerzum szó előfordulását egy dokumentumban, először keressük meg az indexben. A SearchResult objektum a kulcsszót tartalmazó összes dokumentumot tartalmazza. Ha vannak egyezések, a FoundDocument megkapja, és egy kiemelőt használ a kiemelés alkalmazására. Testreszabhatja a kiemelési formátumot a TermHighlightStartTag és a TermHighlightEndTag beállításával, hogy az egyező kifejezések egyértelműen megjelenjenek a szövegben. Ez a megközelítés nemcsak a C# dokumentumkeresést és -kiemelést teszi lehetővé, hanem a releváns szövegegyezések egyértelmű megjelölésével javítja a felhasználói élményt is.
Kód a keresési eredmények kiemeléséhez C# használatával
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); | |
} | |
} | |
} | |
} | |
} |
A keresési egyezések kiemelése C# nyelven a dokumentumkereső alkalmazások alapvető funkciója, ami megkönnyíti a felhasználók számára a releváns információk gyors megtalálását. Az olyan könyvtárak használatával, mint a GroupDocs.Search, hatékony és hatékony rendszert valósíthat meg, amely támogatja a keresési egyezések kiemelését C#-ban. Ez a megközelítés nem csak javítja a keresési funkciókat, hanem vizuálisan is megkülönbözteti az eredményeket, javítva a felhasználói interakciót. A keresés és a kiemelés C#-val történő megvalósítása egyszerű, és egyedi alkalmazási igényekhez szabható, akár dokumentumkezelő rendszert, akár valós idejű keresőeszközt fejleszt.
Korábban kiadtunk egy részletes útmutatót az indexelt dokumentumok C# használatával történő lekéréséhez. A teljes, lépésenkénti oktatóanyagért feltétlenül tekintse meg részletes cikkünket a indexelt dokumentumok beszerzése C# használatával.