17

Lucene.Net を使用していくつかのドキュメントのインデックスを作成しています。そのドキュメントが結果セットにある理由をユーザーに数行表示したいと思います。Google を使用して検索すると、リンクが表示され、その後にリンクが表示される場合と同じように、キーワードが強調表示された行がいくつか表示されます。何か案は?

4

1 に答える 1

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);
}
于 2008-10-09T22:38:44.587 に答える