关于Lucene QueryParser 的Range Searches问题
Lucene的QueryParser提供了Range Search语法。如果Range Search语法操作的对象是数字(如整数),但是建立索引时使用的是普通的Field字段,则查询结果会出乎意料。
解决的办法如下:
使用NumericField实例而不是通常使用的Filed实例,例如 doc.add(new NumericField(FileDocument.length, Field.Store.YES, true).setIntValue(sentenceLength));
使用NumericField重新建立索引后,Range Search的结果就是我们所期望的了。
浙公网安备 33010602011771号