我正在使用这个版本的 Lucene highlighter.net API。我只想在搜索结果中出现一个短语时突出显示它的所有单词。但是,我不能这样做......例如,如果我的输入搜索字符串是“领先的电信公司”,那么如果结果不包含“领先”和“公司”字样,API 只会在结果中突出显示“电信”...
这是我正在使用的代码:
SimpleHTMLFormatter htmlFormatter = new SimpleHTMLFormatter();
var appData = (string)AppDomain.CurrentDomain.GetData("DataDirectory");
var folderpath = System.IO.Path.Combine(appData, "MyFolder");
indexReader = IndexReader.Open(folderpath);
Highlighter highlighter = new Highlighter(htmlFormatter, new QueryScorer(finalQuery.Rewrite(indexReader)));
highlighter.SetTextFragmenter(new SimpleFragmenter(800));
int maxNumFragmentsRequired = 5;
string highlightedText = string.Empty;
TokenStream tokenStream = this._analyzer.TokenStream(fieldName, new System.IO.StringReader(fieldText));
highlightedText = highlighter.GetBestFragments(tokenStream, fieldText, maxNumFragmentsRequired, "...");
return highlightedText;
请帮忙!