SearchResult
Содержание
[
Скрывать
]
SearchResult class
Представляет результат поиска, соответствующий поисковому запросу.
public class SearchResult : IEnumerable<FoundDocument>
Характеристики
Имя | Описание |
---|---|
DocumentCount { get; } | Получает количество найденных документов. |
EndTime { get; } | Получает время окончания поиска. |
NextChunkSearchToken { get; } | Получает токен поиска чанка для поиска следующего чанка. |
OccurrenceCount { get; } | Получает общее количество найденных вхождений. |
SearchDuration { get; } | Получает продолжительность поиска. |
StartTime { get; } | Получает время начала поиска. |
Truncated { get; } | Получает значение, указывающее, что результат усечен. |
Warnings { get; } | Получает предупреждения с описанием результата. |
Методы
Имя | Описание |
---|---|
GetEnumerator() | Возвращает перечислитель, который перебирает коллекцию найденных документов. |
GetFoundDocument(int) | Получает найденный документ по индексу. |
Примечания
Узнать больше
Примеры
Пример демонстрирует типичное использование класса.
string indexFolder = @"c:\MyIndex\";
string documentFolder = @"c:\MyDocuments\";
// Создание индекса
Index index = new Index(indexFolder);
// Индексация документов из указанной папки
index.Add(documentFolder);
// Установка параметров поиска
SearchOptions options = new SearchOptions();
options.FuzzySearch.Enabled = true; // Включение нечеткого поиска
options.FuzzySearch.FuzzyAlgorithm = new TableDiscreteFunction(3); // Устанавливаем максимальное количество отличий на 3
// Поиск документов, содержащих слово «Эйнштейн» или фразу «Теория относительности»
SearchResult result = index.Search("Einstein OR \"Theory of Relativity\"", options);
// Печать результата
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);
// Печать найденных терминов
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]);
}
}
// Печать найденных фраз
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]);
}
}
}
}
Смотрите также
- class FoundDocument
- пространство имен GroupDocs.Search.Results
- сборка GroupDocs.Search