搜索多个数字字段Lucene

时间:2011-11-27 13:41:57

标签: java lucene

我已经为每个文档使用更多NumericField索引了一些文档。 现在我想搜索包含< -3,+ 3>中所有字段的文档。例如:

查询:n1=7,n2=10,n3=12 - 搜索应返回所有包含间隔数字的文档:n1=<4,10>,n2=<7,13>,n3=<9,15>

问题:我需要什么样的分析器,如何编写查询,使用什么样的搜索器?

这是一项任务,因此我无法使用为搜索范围而构建的任何其他工具,必须使用Lucene。

由于

1 个答案:

答案 0 :(得分:2)

不需要任何分析员或搜索者,
只需确保构建正确的查询,如: -

示例1:或(意味着匹配其中一个条件)

n1:(4 10) n2:(7 13) n3:(9 15)

示例2:和(意味着所有三个括号必须匹配)

+n1:(4 10) +n2:(7 13) +n3:(9 15)

示例3:范围(您的问题听起来像是范围搜索)

n1:[4 TO 10] n2:[7 TO 13] n3:[9 TO 15]

示例4:和范围

+n1:[4 TO 10] +n2:[7 TO 13] +n3:[9 TO 15]