Lucene获得匹配关键字列表

时间:2015-04-16 10:04:45

标签: java lucene

我有一个基于Java(lucene 4)的应用程序和一组关键字作为搜索查询提供给应用程序(这些术语可能包含多个单词,例如它可以是:“memory”,“old house”, “欧盟法”等)。

我需要一种方法从索引文档中获取匹配关键字列表,并且还可能在文档中获取关键字位置(也适用于多字关键字)。 我尝试使用lucene高亮包,但我只需要获得没有任何文本周围部分的关键字。它还会在单独的片段中返回多字关键字。

我非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

这里有类似(可能相同)的问题: Get matched terms from Lucene query

你看到了吗?

解决方案建议将一个复杂的查询反汇编成一个更简单的查询,直到你得到一个TermQuery,然后通过searcher.explain(query,docId)进行检查(因为如果它匹配,你知道' s这个词。)

我觉得它效率不高,但是 它对我有用,直到我遇到SpanQueries。这对你来说已经足够了。