Lucene QueryParser突出显示短语作为单个突出显示

时间:2015-08-02 21:58:34

标签: lucene lucene.net

有人能告诉我是否有办法使用lucene .net QueryParser突出显示一个高亮显示的短语?

对于Eg我有文字: - 快速的狐狸跳过墙壁。

我搜索:" Quick fox" lucene.net返回的亮点

  

<> quick<> <>狐<>跳过了墙。

QueryParser parser = new QueryParser(Version.LUCENE_30, "DocumentText", this.analyzer);
Query query;
query = parser.Parse(searchTerm);
QueryScorer scorer = new QueryScorer(query);
IFormatter formatter = new SimpleHTMLFormatter("<>", "<>");
SimpleFragmenter fragmenter = new SimpleFragmenter(int.MaxValue - 1);
Highlighter highlighter = new Highlighter(formatter, scorer);
highlighter.TextFragmenter = fragmenter;
highlighter.MaxDocCharsToAnalyze = int.MaxValue;
StringBuilder hitHighlights = new StringBuilder();
this.stream = this.analyzer.TokenStream(string.Empty, this.documentStringReader);
string highlights = highlighter.GetBestFragments(this.stream, documentTextChunk, 0, "."); 

有没有办法在短语周围返回单个标签 例如: -

  

&lt;&gt;快速狐狸&lt;&gt;跳过了墙。

谢谢, 维尼特

1 个答案:

答案 0 :(得分:0)

朋友们!我已经读过你们的问题了。

可能你不理解lucene bottom理论。

索引编制过程中的每个句子,都会被分析为大量的标记,每个

令牌是最小的单位,无论是索引还是搜索。

所以,只有&#34;快速狐狸&#34;成为一个完整的标记,它可以突出显示&lt;&gt;快速狐狸&lt;&gt;然后 。怎么能让他成为一个整体?

它与您的分析仪有关系!

about lucene analysis