lucene大于

时间:2009-09-24 16:16:11

标签: java lucene

你们中的任何人都知道如何搜索所有大于指定数字的数字吗?

例如:所有文件编号> 65

我尝试过:documentNumber:[65 TO *]但我收到异常,因为lucene期望解析一个没有*的数字。

提前致谢!

2 个答案:

答案 0 :(得分:2)

Jon几乎是对的,但您还需要填充数字,因为数字字段是按字典顺序排序的。因此,1243被认为小于65.假设您有20000个文档。您必须使用前导零填充10000以下的文档编号,例如00065,01243等。查询的确切语法将是

documentnumber:[00065 TO 20000] 

,因为你不希望65在范围内。有关详情,请参阅this question, 和official syntax

答案 1 :(得分:1)

我对Lucene一无所知,但就像一个随意的想法,你试过用一个非常大的数字而不是*?

[65 TO 99999999]

选择数据类型可以处理的最大数字(假设存在这样的事物)或者至少比可能使用的数字更大的数字。