TermRangeQuery:
terms 范围查询。 不适用于 数字 范围查询,数字范围查询使用的是NumericRangeQuery。
TermRangeQuery实现方式是重写 MultiTermQuery.CONSTANT_SCORE_REWRITE
rewrite method,该重写方法不消耗CPU去计算评分,该方式性能上最佳。
NumericRangeQuery:
需要在建索引时使用IntField,FloatField,LongField,DoubleField。
使用静态方法建立一个数字范围查询:NumericRangeQuery.newFloatRange("weight", 0.1f, 0.5f, true, true);
如果在建索引时,precisionstep没有使用默认值(4),则查询时有必要指定precisionstep。
同TermRangeQuery一样,NumericRangeQuery不计算评分。