Solr整数范围查询,使用什么fieldType?

时间:2015-03-10 19:21:34

标签: solr cassandra

我是solr和尝试范围查询的新手#34; TO"。但是我无法理解正确的行为。

以下是我在表格中的字段:

 order_range int

schema.xml包含:

<fieldType name="int" class="solr.IntField"/>

<field name="order_range" type="int" indexed="true" stored="true"/>

但是,当我发出后,查询

 order_range:[20 TO *]

返回order_range小于20的文档。 根据solrwiki,

field:[100 TO *] finds all field values greater than or equal to 100

有人可以帮我解决我错过的问题吗?

1 个答案:

答案 0 :(得分:3)

对于数值范围查询,我建议使用以下两种字段类型之一:

<fieldType name="tint" class="solr.TrieIntField" precisionStep="8" positionIncrementGap="0"/>
<fieldType name="tdouble" class="solr.TrieDoubleField" precisionStep="8" positionIncrementGap="0"/>

根据schema.xml中的文档:

  

对于更快范围的查询,请考虑tint / tfloat / tlong / tdouble类型。

使用int字段类型时,它按字典顺序排序。

更多细节:http://www.slideshare.net/VadimKirilchuk/numeric-rangequeries