Lucene hibernate搜索NumericRangeQuery <float>无法在使用@NumericField </float>定义的字段上工作

时间:2012-06-27 11:51:35

标签: lucene numeric hibernate-search range

除了这个问题,我使用hibernate search 4.1.0并取得了良好的效果。 我正在尝试在定义的列中执行范围搜索:

@Field(name = "startTime", store = Store.YES)
@NumericField
public Float startTime;

我存储了一个startTime = 0.0f;

的项目

然后我尝试执行范围查询:

NumericRangeQuery<Float> rangeQuery = NumericRangeQuery.newFloatRange(
                "startDate", -100000.0f, +100000.0f, true, true);
FullTextQuery fullTextQuery = fullTextEntityManager
                .createFullTextQuery(rangeQuery, Item.class);
results = fullTextQuery.getResultList();

首先:我没有结果。

第二次:用lukeall检查索引,我看到只是存储了似乎是toString()的东西[通过其他实验判断],看起来不正常...

我觉得我错过了什么,任何帮助都会受到赞赏。 感谢

1 个答案:

答案 0 :(得分:1)

首先在Hibernate forums上回复,为了其他读者而在此重新发布:

首先:我认为您的目标是错误的字段名称;字段名称为startTime,而不是startDate。在这种情况下,由于您直接包装Lucene查询,我们无法检查它的有效性。

:你在卢克看到的是Store.YES

的结果