编辑:添加了有关explain()的一些详细信息。
一些常规介绍:Lucene荧光笔旨在从匹配文档中查找文本片段,并突出显示与查询匹配的标记。
- 因此,TokenStream参数用于将命中文本分解为标记。然后,荧光笔的评分者对每个令牌评分,以便对片段进行评分并选择要突出显示的片段和令牌。
- 我相信您做错了。如果您只想了解文档中匹配的查询词,则应使用explain()方法。基本上,实例化搜索器后,请使用:
Explanation expl = searcher.explain(query, docId);
String asText = expl.toString();
String asHtml = expl.toHtml();
docId是来自搜索结果的原始文档ID。
仅当您确实需要摘录和/或突出显示时,才应使用荧光笔。如果仍要使用荧光笔,请遵循Nicholas
Hrychan的建议。但是请当心,因为他描述了Lucene 2.4.1 API-如果使用更高级的版本,则应在他说“ SpanScorer”的地方使用“
QueryScorer”。



