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);

// 搜索单词“Einstein”
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();
        }
    }
}

也可以看看