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

Solr integer range query, what fieldType to use?

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

下面是我在table中的字段:

 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 *]

它 returns order_range 小于 20 的文档。 根据 solrwiki,

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

有人可以帮我解决我遗漏的问题吗?

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

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

根据 schema.xml 中的文档:

For faster range queries, consider the tint/tfloat/tlong/tdouble types.

当您使用 int 字段类型时,它会按字典顺序对它们进行排序。

更多详情:http://www.slideshare.net/VadimKirilchuk/numeric-rangequeries