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
我是 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