Java 搜索多个数值场Lucene

Java 搜索多个数值场Lucene,java,lucene,Java,Lucene,我已经为一些文档编制了索引,每个文档使用了更多的NumericFields。 现在我想搜索包含interval中所有字段的文档,例如: 查询:n1=7,n2=10,n3=12-搜索应返回所有具有间隔编号的文档:n1=,n2=,n3= 问题:我需要什么样的分析器,如何编写查询,使用什么搜索器 这是一项任务,所以我不能使用任何其他为搜索范围而构建的工具,只能使用Lucene 谢谢Is不需要任何分析程序或搜索程序, 只需确保生成正确的查询,如:- 示例1:Or(表示匹配任一条件) 示例2:And(意味

我已经为一些文档编制了索引,每个文档使用了更多的
NumericField
s。 现在我想搜索包含interval中所有字段的文档,例如:

查询:
n1=7,n2=10,n3=12
-搜索应返回所有具有间隔编号的文档:
n1=,n2=,n3=

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

这是一项任务,所以我不能使用任何其他为搜索范围而构建的工具,只能使用Lucene


谢谢

Is不需要任何分析程序或搜索程序,
只需确保生成正确的查询,如:-

示例1:Or(表示匹配任一条件)

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

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

示例4:和范围

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

我从未使用Java进行lucene搜索(对Java类没有任何经验)。但我对lucene模式及其查询语法有一定的了解。要搜索数字(范围),您需要所有n1、n2、n3都使用整型字段类型。加上正确的查询语法
+n1:(4 10) +n2:(7 13) +n3:(9 15)
n1:[4 TO 10] n2:[7 TO 13] n3:[9 TO 15]
+n1:[4 TO 10] +n2:[7 TO 13] +n3:[9 TO 15]