关于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的结果就是我们所期望的了。

posted on 2013-10-23 10:10  zhyongwei  阅读(160)  评论(0)    收藏  举报