Tag: hit highlighting

lucene在查询中获得匹配的术语

找出查询中哪些术语与作为lucene中的命中返回的给定文档匹配的最佳方法是什么? 我尝试了一种奇怪的方法,包括lucene contrib中的命中突出显示包,还有一个方法,可以根据最顶层的文档搜索查询中的每个单词(“docId:xy AND description:each_word_in_query”)。 没有得到满意的结果? 点击突出显示不会报告与第一个文档以外的文档匹配的一些单词。 我不确定第二种方法是否是最好的选择。

在lucene中使用点击荧光笔

关于apache lucene提供的点击荧光笔我有两个问题: 看到这个函数可以解释令牌流参数的使用。 我有几个包含许多字段的大型lucene文档,每个字段中都有一些字符串。 现在我找到了特定查询最相关的文档。 现在找到此文档是因为查询中的多个单词可能与文档中的单词匹配。 我想找出查询中的哪些单词导致了这个问题。 因此,我计划使用Lucene Hit Highlighter。 示例:如果查询是“皮肤医生德里”并且标题为“皮肤科医生”的文档包含单词“皮肤”和“医生”,那么在点击突出显示之后我应该能够从查询中分离出“皮肤”和“医生”。 我一直试图为此编写代码数周。 无法得到我想要的东西。 请问你能帮帮我吗? 提前致谢。 更新: 当前方法:我创建一个包含文档中所有单词的查询。 Field[] field = doc.getFields(“description”); String desc = “”; for (int j = 0; j < field.length; ++j) { desc += field[j].stringValue() + " "; } Query q = qp.parse(desc); QueryScorer scorer = new QueryScorer(q, reader, "description"); Highlighter highlighter […]