SearchResult
Contenuti
[
Nascondere
]
SearchResult class
Rappresenta un risultato di ricerca che corrisponde a una query di ricerca.
public class SearchResult : IEnumerable<FoundDocument>
Proprietà
Nome | Descrizione |
---|---|
DocumentCount { get; } | Ottiene il numero di documenti trovati. |
EndTime { get; } | Ottiene l’ora di fine della ricerca. |
NextChunkSearchToken { get; } | Ottiene un token di ricerca del blocco per cercare il blocco successivo. |
OccurrenceCount { get; } | Ottiene il numero totale di occorrenze trovate. |
SearchDuration { get; } | Ottiene la durata della ricerca. |
StartTime { get; } | Ottiene l’ora di inizio della ricerca. |
Truncated { get; } | Ottiene un valore che indica che il risultato è troncato. |
Warnings { get; } | Ottiene un avviso che descrive il risultato. |
Metodi
Nome | Descrizione |
---|---|
GetEnumerator() | Restituisce un enumeratore che scorre la raccolta dei documenti trovati. |
GetFoundDocument(int) | Ottiene il documento trovato per indice. |
Osservazioni
Saperne di più
Esempi
L’esempio mostra un utilizzo tipico della classe.
string indexFolder = @"c:\MyIndex\";
string documentFolder = @"c:\MyDocuments\";
// Creazione di un indice
Index index = new Index(indexFolder);
// Indicizzazione dei documenti dalla cartella specificata
index.Add(documentFolder);
// Impostazione delle opzioni di ricerca
SearchOptions options = new SearchOptions();
options.FuzzySearch.Enabled = true; // Abilitazione della ricerca fuzzy
options.FuzzySearch.FuzzyAlgorithm = new TableDiscreteFunction(3); // Imposta il numero massimo di differenze su 3
// Cerca documenti contenenti la parola "Einstein" o la frase "Teoria della relatività"
SearchResult result = index.Search("Einstein OR \"Theory of Relativity\"", options);
// Stampa il risultato
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);
// Stampa termini trovati
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]);
}
}
// Stampa frasi trovate
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]);
}
}
}
}
Guarda anche
- class FoundDocument
- spazio dei nomi GroupDocs.Search.Results
- assemblea GroupDocs.Search