如何在apache lucene中执行整数范围查询?

时间:2014-11-24 16:28:16

标签: java lucene

我正在使用apache lucene在我的应用程序中执行全文搜索。现在我必须执行范围查询来搜索两个整数之间的记录。

我使用以下代码

创建了我的索引
private void set(String fieldName, String fieldValue, Document luceneDocument,        LuceneOptions options, Float boost) {
    if (fieldName != null && fieldValue != null) {

        Field luceneField =
                new Field(fieldName,
                          fieldValue.toLowerCase(),
                          options.getStore(),
                          options.getIndex(),
                          options.getTermVector());

        luceneField.setBoost(boost);
        luceneDocument.add(luceneField);
    }
}  

上面的方法为我的字段名称"幅度"创建了lucene索引。哪些可能的值是介于-999到9999之间的正整数和负整数 现在,如果我创建一个lucene范围查询,如(幅度:[10到345])或(幅度:[10到null])。我没有得到正确的记录数。

1 个答案:

答案 0 :(得分:0)

您需要定义IntField以让Lucene将值解释为数字。