Lucene:访问查询结果的有效负载

时间:2012-05-02 10:37:25

标签: lucene token payload

当我在Lucene中搜索查询时,我会收到一份文档列表。但是我怎样才能获得这些文件中的点击量?我想访问那些单词的有效负载,查询找到了这些单词的负载。

如果您的查询只包含一个术语,则只需使用TermPositions即可访问此术语的有效内容。但是,如果您使用词组搜索,邻近搜索,...进行更复杂的查询,则不能只在TermPositions中搜索单个词语。

我希望收到List<Token>TokenStream或类似内容,其中包含查询找到的所有代币。然后我可以迭代列表并访问每个令牌的有效负载。

2 个答案:

答案 0 :(得分:1)

我使用SpanQueries解决了我的问题。几乎每个Query都可以表示为SpanQuery。 SpanQuery允许访问文档中命中的跨度。因为普通的QueryParser不会产生SpanQueries,所以我必须编写自己的解析器,它只创建SpanQueries。另一种选择是来自Lucene-Contrib的SurroundParser,它也创建了SpanQueries。

答案 1 :(得分:0)

我想你首先要看看Lucene荧光笔,因为它突出了文档中的匹配条款。