Lucene.Net搜索结果以突出显示搜索关键字

时间:2008-10-09 22:00:01

标签: lucene lucene.net

我使用Lucene.Net索引某些文档。我想向用户显示关于该文档在结果集中的原因的几行。就像当你使用谷歌搜索它,它显示链接,然后链接后,有几行突出显示关键字。 任何想法?

1 个答案:

答案 0 :(得分:23)

当您有结果时,您可以通过类似于此的方法将索引文本与查询一起传递:

public string GeneratePreviewText(Query q, string text)
{
    QueryScorer scorer = new QueryScorer(q);
    Formatter formatter = new SimpleHTMLFormatter(highlightStartTag, highlightEndTag);
    Highlighter highlighter = new Highlighter(formatter, scorer);
    highlighter.SetTextFragmenter(new SimpleFragmenter(fragmentLength));
    TokenStream stream = new StandardAnalyzer().TokenStream(new StringReader(text));
    return highlighter.GetBestFragments(stream, text, fragmentCount, fragmentSeparator);
}