Kev*_*vin 3 lucene indexing luke
我有许多数字Lucene索引字段:
60000
78500
105000
Run Code Online (Sandbox Code Playgroud)
如果我使用LUKE查询78500,如下所示:
price:78500
Run Code Online (Sandbox Code Playgroud)
它返回正确的记录,但如果我尝试将所有三个记录作为一个范围返回,我得不到任何结果.
price:[60000 TO 105000]
Run Code Online (Sandbox Code Playgroud)
我意识到这是由于填充,因为Lucene对数字进行了处理,但我只是想知道我应该把什么放入LUKE来返回三条记录.
非常感谢任何帮助.
alo*_*oon 11
如果字段被索引为NumericField,则必须在查询解析器选项卡和Luke的3.5版本中使用"使用XML查询分析器"选项:
https://code.google.com/p/luke/downloads/detail?name=lukeall-3.5.0.jar&can=2&q=
使用字符串和数字字段查询的示例是:
<BooleanQuery>
<Clause fieldName="colour" occurs="must">
<TermQuery>rojo</TermQuery>
</Clause>
<Clause fieldName="price" occurs="must">
<NumericRangeQuery type="int" lowerTerm="4000" upperTerm="5000" />
</Clause>
</BooleanQuery>
Run Code Online (Sandbox Code Playgroud)