【发布时间】:2011-02-19 17:26:22
【问题描述】:
我在我的 ASP.NET/C# Web 应用程序中直接使用 Lucene.NET API。当我使用通配符搜索时,例如“fuc*”,荧光笔不会突出显示任何内容,但是当我搜索整个单词时,例如“fuchsia”,它会突出显示。 Lucene 是否能够使用与它匹配的相同逻辑来突出显示?
以下各种可能相关的代码-sn-ps:
var formatter = new Lucene.Net.Highlight.SimpleHTMLFormatter(
"<span class='srhilite'>",
"</span>");
var fragmenter = new Lucene.Net.Highlight.SimpleFragmenter(100);
var scorer = new Lucene.Net.Highlight.QueryScorer(query);
var highlighter = new Lucene.Net.Highlight.Highlighter(formatter, scorer);
highlighter.SetTextFragmenter(fragmenter);
然后每次点击...
string description = Server.HtmlEncode(doc.Get("Description"));
var stream = analyzer.TokenStream("Description",
new System.IO.StringReader(description));
string highlighted_text = highlighter.GetBestFragments(
stream, description, 1, "...");
我正在使用 QueryParser 和 StandardAnalyzer。
【问题讨论】:
标签: c# lucene lucene.net highlighting