2017-02-01 150 views
0

我刚刚步入lucene世界并尝试了解使用ConstantScoreRange查询及其在lucene 6.2.1中的替代方法。ConstantScoreRangeQuery已弃用

谷歌搜索后,我发现ConstantScoreRange已被废弃,我应该去要么NumericRangeQueryTermRangeQuery从这个链接:https://lucene.apache.org/core/2_9_4/api/core/deprecated-list.html

我目前使用Lucene 6.2.1库,并试图改变这种代码片段:

public Query toQuery() { 
     return new ConstantScoreRangeQuery(getName(), lowValue, highValue, true, true); 
} 
的格式适用于lucene的6.2.1

按我理解的要求是使用NumericRangeQuery作为数据贝

ng传递给ConstantScoreRangeQuery是数字而不是条款。

由于NumericRangeQuery API在Lucene 6.2.1中也被弃用我不确定哪个API是正确的。

请帮我解决这个问题。

感谢, 阿布舍克

回答

0

由于6.0,旧的数字类型已停用,并更名为(LegacyIntField,例如),并应与PointValues,它提供了更好的整体性能进行更换。

使用它的整数值,例如,你会指数是这样的:

int myIntValue = 10; 
document.add(new IntPoint("myIntField", myIntValue)); 

,并查询它:

Query query = IntPoint.newRangeQuery("myIntField", 5, 15);