我在基于 Lucene 的搜索中遇到问题。我设计了一个包含五个字段的文档。考虑该文档是带有 addressline1、addressline2、city、state 和 pin 的 Address。如果要执行搜索,则搜索已在所有字段中完成,因此我使用的是布尔术语查询。因此将检索结果。现在,我不仅要响应响应,还要响应匹配字段。例如,如果城市字段与搜索匹配,那么我应该响应城市匹配搜索以及实际搜索响应。是否有任何 lucene api 来适应这个?
问问题
1698 次
1 回答
2
AFAIK 没有简单的解决方案来找出与查询匹配的字段。
您的选择是:
- 尝试使用命中荧光笔(它知道匹配发生的位置,但在大型结果集上明显变慢)
- 摆弄 IndexSearcher 的解释方法
- 构建您的定制解决方案
恕我直言,自己实现这一点应该不难,因为 Lucene 在某个时间点肯定知道哪个字段产生了匹配项,但是在组成您的响应时,它会将该信息作为不必要的权重丢弃。
我偶然发现了这种自定义方法。
于 2012-07-29T00:24:16.083 回答