A keresési eredmények hatékony kezelése minden robusztus dokumentum-visszakereső rendszer sarokköve, és ezen eredmények értelmezésének és felhasználásának megértése jelentősen javíthatja az adatvezérelt döntéshozatalt. Ebben az útmutatóban megvizsgáljuk, hogyan lehet dolgozni a keresési eredményekkel C# használatával. Az indextár beállításától a fuzzy keresési beállítások konfigurálásáig ez az oktatóanyag világos és praktikus megközelítést kínál a keresési lekérdezések és eredményeik kezeléséhez. Akár egyedi kifejezések, akár összetett kifejezések egyezéseit kell elemeznie, ez a módszer felvértezi az eredményeket átfogóan feldolgozni és értelmes mintákat fedezni fel. A végére biztos lesz abban, hogyan lekérheti a keresési eredményeket C#-ban, és hogyan tudja azokat különféle alkalmazásokhoz felhasználni.
A keresési eredmények kezelésének lépései C# használatával
- Szerelje be a GroupDocs.Search for .NET könyvtárat a projektbe, hogy a keresési eredményekkel dolgozhasson
- Hozzon létre egy indexobjektumot a Index osztály használatával, és adjon meg egy mappa elérési utat, ahol az indexet tárolni fogja
- Használja a Index.Add metódust, ha a megadott mappából szeretne dokumentumokat hozzáadni az indexhez
- Hozzon létre egy SearchOptions példányt, és engedélyezze a fuzzy keresést a FuzzySearch.Enabled igaz értékre állításával
- Határozza meg a megengedett eltérések maximális számát (pl. 3) a FuzzyAlgoritm segítségével
- A Index.Search módszerrel kereshet olyan dokumentumokat, amelyek meghatározott kifejezéseket vagy kifejezéseket tartalmaznak a beállított keresési opciókkal együtt
- Adja meg a talált dokumentumok számát (DocumentCount) és a keresési kifejezések összes előfordulását (OccurrenceCount)
- Keresse végig a dokumentumokat a keresési eredmények között a GetFoundDocument módszerrel. Minden dokumentum esetében jelenítse meg a fájl elérési útját és az előfordulások számát
- Minden dokumentum esetében ismételje meg a FoundFields mezőket, hogy megjelenítse a részleteket, például a mező nevét, az előfordulások számát, a talált kifejezéseket és a talált kifejezéseket.
A keresési eredmények hatékony kezeléséhez először be kell állítania egy indextárat a dokumentumokhoz. A megadott kódrészlet segítségével egy index jön létre egy megadott mappában, és egy másik mappából származó dokumentumokat adnak hozzá. A keresési beállítások ezután úgy vannak beállítva, hogy lehetővé tegyék a fuzzy keresést, lehetővé téve a rugalmas egyeztetést a maximális különbségi küszöb mellett. Ez a beállítás megkönnyíti a keresést olyan kifejezésekre, mint az Einstein vagy olyan kifejezésekre, mint a relativitáselmélet fejlett algoritmusok segítségével. A keresés végrehajtása után az eredmények a SearchResult objektumon keresztül érhetők el. Megjelenik a lekérdezésnek megfelelő dokumentumok teljes száma és előfordulásuk száma. Az egyes dokumentumokra vonatkozó részletes információk lekérhetők, beleértve a fájl elérési útját, valamint a kifejezések és kifejezések előfordulását. Az egyes dokumentumokon belüli talált mezők iterációjával azonosíthatja az egyezéseket tartalmazó konkrét mezőket, és elemezheti a kifejezéseket és kifejezéseket a megfelelő gyakoriságukkal. Ez a lépés bemutatja, hogyan lehet elérni az indexkeresési eredményeket C#-val, strukturált nézetet biztosítva a visszakeresett adatokról.
Kód a keresési eredmények kezeléséhez C# használatával
using GroupDocs.Search; | |
using GroupDocs.Search.Options; | |
using GroupDocs.Search.Results; | |
using System; | |
namespace WorkwithSearchResultsUsingCSharp | |
{ | |
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 | |
Index index = new Index(indexFolder); | |
// Indexing documents from the specified folder | |
index.Add(documentsFolder); | |
// Creating search options | |
SearchOptions options = new SearchOptions(); | |
options.FuzzySearch.Enabled = true; // Enabling the fuzzy search | |
options.FuzzySearch.FuzzyAlgorithm = new TableDiscreteFunction(3); // Setting the maximum number of differences to 3 | |
// Search for documents containing the word 'Einstein' or the phrase 'Theory of Relativity' | |
SearchResult result = index.Search("Einstein OR \"Theory of Relativity\"", options); | |
// Printing the result | |
Console.WriteLine("Documents: " + result.DocumentCount); | |
Console.WriteLine("Total occurrences: " + result.OccurrenceCount); | |
for (int i = 0; i < result.DocumentCount; i++) | |
{ | |
FoundDocument document = result.GetFoundDocument(i); | |
Console.WriteLine("\tDocument: " + document.DocumentInfo.FilePath); | |
Console.WriteLine("\tOccurrences: " + document.OccurrenceCount); | |
for (int j = 0; j < document.FoundFields.Length; j++) | |
{ | |
FoundDocumentField field = document.FoundFields[j]; | |
Console.WriteLine("\t\tField: " + field.FieldName); | |
Console.WriteLine("\t\tOccurrences: " + document.OccurrenceCount); | |
// Printing found terms | |
if (field.Terms != null) | |
{ | |
for (int k = 0; k < field.Terms.Length; k++) | |
{ | |
Console.WriteLine("\t\t\t" + field.Terms[k].PadRight(20) + field.TermsOccurrences[k]); | |
} | |
} | |
// Printing found phrases | |
if (field.TermSequences != null) | |
{ | |
for (int k = 0; k < field.TermSequences.Length; k++) | |
{ | |
string sequence = string.Join(" ", field.TermSequences[k]); | |
Console.WriteLine("\t\t\t" + sequence.PadRight(30) + field.TermSequencesOccurrences[k]); | |
} | |
} | |
} | |
} | |
} | |
} | |
} |
A keresési eredmények hatékony kezelése és értelmezése kritikus fontosságú az indexelt adatok értékének maximalizálásához. Ez a folyamat nemcsak dokumentumok visszakeresését foglalja magában, hanem mélyreható kifejezéseket, mezőspecifikus egyezéseket és kifejezéssorozatokat is magában foglal. A bemutatott módszer felvértezi az eredmények strukturált és részletes elemzését, lehetővé téve a fejlett adatbetekintést. Ezenkívül a könyvtár platformfüggetlensége zökkenőmentes integrációt biztosít a különböző rendszerek és környezetek között, így sokoldalú választás a kereséssel kapcsolatos feladatokhoz. Ennek a megközelítésnek az elsajátításával hatékonyan kezelheti a keresési eredményeket C#-ban, és alkalmazhatja azokat számos forgatókönyvre, az adatelemzéstől a valós idejű dokumentum-visszakeresésig.
Korábban megosztottunk egy átfogó útmutatót a keresési jelentések C# használatával történő létrehozásáról. A teljes, lépésenkénti áttekintéshez feltétlenül tekintse meg részletes cikkünket a keresési jelentés létrehozása C# használatával.