1

我正在使用 lucene.net 2.9.4(无法升级 atm)。我也在使用来自 lucene.net contrib 的 highlighter.net。当我在一个索引上搜索我的代码时,我可以让它正常工作:

        QueryScorer fragmentScorer = new QueryScorer(query.Rewrite(searcher.GetIndexReader()));

    Highlighter highlighter = new Highlighter(this.HighlightFormatter, fragmentScorer);

    Lucene.Net.Analysis.TokenStream tokenStream = this.HighlightAnalyzer.TokenStream(highlightField, new System.IO.StringReader(value));

    return highlighter.GetBestFragments(tokenStream, value, this.MaxNumHighlights, this.Separator); 

    return highlightField;

问题是当我的搜索器对象是多搜索器时,我没有 GetIndexReader 方法。

使用多搜索器,您在后台使用了多个阅读器,因此您没有 GetIndexReader 是有道理的。

甚至可以用多搜索器突出显示吗?如果没有,那么有没有办法做到这一点?

4

0 回答 0