Učinkovito upravljanje rezultatima pretraživanja kamen je temeljac svakog robusnog sustava za pronalaženje dokumenata, a razumijevanje kako interpretirati i koristiti te rezultate može značajno poboljšati donošenje odluka na temelju podataka. U ovom vodiču istražujemo kako raditi s rezultatima pretraživanja koristeći C#. Od postavljanja spremišta indeksa do konfiguriranja opcija neizrazitog pretraživanja, ovaj vodič pruža jasan i praktičan pristup rukovanju upitima pretraživanja i njihovim rezultatima. Bilo da trebate analizirati podudaranja za pojedinačne pojmove ili složene fraze, ova metoda vam omogućuje da sveobuhvatno obradite rezultate i otkrijete smislene obrasce. Na kraju ćete biti sigurni kako dohvatiti rezultate pretraživanja u C# i iskoristiti ih za različite aplikacije.
Koraci za rad s rezultatima pretraživanja pomoću C#
- Uključite biblioteku GroupDocs.Search for .NET u svoj projekt za rad s rezultatima pretraživanja
- Napravite objekt indeksa pomoću klase Index i odredite put mape gdje će indeks biti pohranjen
- Koristite metodu Index.Add za dodavanje dokumenata iz navedene mape u indeks
- Napravite instancu SearchOptions i omogućite nejasno pretraživanje postavljanjem FuzzySearch.Enabled na true
- Definirajte najveći broj dopuštenih razlika (npr. 3) koristeći FuzzyAlgorithm
- Upotrijebite metodu Index.Search za pretraživanje dokumenata koji sadrže navedene pojmove ili izraze zajedno s konfiguriranim SearchOptions
- Ispišite broj pronađenih dokumenata (DocumentCount) i ukupan broj pojavljivanja pojmova za pretraživanje (OccurrenceCount)
- Pregledajte dokumente u rezultatima pretraživanja pomoću metode GetFoundDocument. Za svaki dokument, prikažite put datoteke i broj pojavljivanja
- Za svaki dokument iterirajte kroz FoundFields da biste prikazali pojedinosti kao što su naziv polja, broj pojavljivanja, pronađeni izrazi i pronađene fraze
Da biste učinkovito radili s rezultatima pretraživanja, najprije trebate postaviti indeksno spremište za svoje dokumente. Pomoću dobivenog isječka koda, indeks se stvara u određenoj mapi, a dokumenti iz druge mape se dodaju u nju. Opcije pretraživanja se zatim konfiguriraju za omogućavanje neizrazitog pretraživanja, omogućujući fleksibilno podudaranje s maksimalnim pragom razlike. Ova postavka olakšava pretraživanje pojmova poput Einstein ili fraza kao što je Teorija relativnosti pomoću naprednih algoritama. Nakon što se pretraživanje izvrši, rezultatima se pristupa putem SearchResult objekta. Prikazuje se ukupan broj dokumenata koji odgovaraju upitu i njihov broj pojavljivanja. Dohvaćaju se detaljne informacije o svakom dokumentu, uključujući putanju datoteke i pojavljivanja pojmova i fraza. Ponavljanjem kroz pronađena polja unutar svakog dokumenta, možete identificirati određena polja koja sadrže podudaranja i analizirati pojmove i fraze s njihovom učestalošću. Ovaj korak pokazuje kako pristupiti rezultatima pretraživanja indeksa s C#, pružajući strukturirani prikaz dohvaćenih podataka.
Kod za rad s rezultatima pretraživanja pomoću C#
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]); | |
} | |
} | |
} | |
} | |
} | |
} | |
} |
Učinkovito upravljanje i tumačenje rezultata pretraživanja kritično je za maksimiziranje vrijednosti indeksiranih podataka. Ovaj proces ne uključuje samo dohvaćanje dokumenata, već i duboko zaranjanje u pojavljivanja pojmova, podudaranja specifičnih za polje i nizove fraza. Demonstrirana metoda omogućuje vam analizu rezultata na strukturiran i detaljan način, omogućujući napredne uvide u podatke. Štoviše, neovisnost o platformi knjižnice osigurava besprijekornu integraciju u različite sustave i okruženja, što je čini svestranim izborom za zadatke povezane s pretraživanjem. Ovladavanjem ovim pristupom, možete učinkovito rukovati rezultatima pretraživanja u C# i primijeniti ih na širok raspon scenarija, od analize podataka do pronalaženja dokumenata u stvarnom vremenu.
Prethodno smo podijelili opsežan vodič o stvaranju izvješća o pretraživanju pomoću C#. Za potpuni korak po korak, svakako pogledajte naš detaljan članak o tome kako izradite izvješće o pretraživanju koristeći C#.