FragmentHighlighter

FragmentHighlighter class

Представляет средство выделения результатов поиска, которое выделяет результаты поиска во фрагментах текста.

public class FragmentHighlighter : Highlighter

Конструкторы

Имя Описание
FragmentHighlighter(OutputFormat) Инициализирует новый экземплярFragmentHighlighter класс.

Характеристики

Имя Описание
OutputFormat { get; } Получает выходной формат.

Методы

Имя Описание
GetResult() Получает массив результирующих контейнеров фрагментов.

Примечания

Узнать больше

Примеры

Пример демонстрирует типичное использование класса.

string indexFolder = @"c:\MyIndex\";
string documentsFolder = @"c:\MyDocuments\";

// Создание индекса
Index index = new Index(indexFolder);

// Индексация документов из указанной папки
index.Add(documentsFolder);

// Поиск слова «Эйнштейн»
SearchResult result = index.Search("Einstein");

// Назначение параметров выделения
HighlightOptions options = new HighlightOptions();
options.TermsBefore = 5;
options.TermsAfter = 5;
options.TermsTotal = 15;

// Подсветка найденных слов в тексте документа
FoundDocument document = result.GetFoundDocument(0);
FragmentHighlighter highlighter = new FragmentHighlighter(OutputFormat.Html);
index.Highlight(document, highlighter, options);

// Получение результата
FragmentContainer[] fragmentContainers = highlighter.GetResult();
for (int i = 0; i < fragmentContainers.Length; i++)
{
    FragmentContainer container = fragmentContainers[i];
    string[] fragments = container.GetFragments();
    if (fragments.Length > 0)
    {
        Console.WriteLine(container.FieldName);
        Console.WriteLine();
        for (int j = 0; j < fragments.Length; j++)
        {
            // Вывод HTML-разметки на консоль
            Console.WriteLine(fragments[j]);
            Console.WriteLine();
        }
    }
}

Смотрите также