我从solr开始,陷入一种奇怪的行为。我有一个多值字段:
<field name="facet_age_filter" type="text" indexed="true" multiValued="true" stored="false" omitNorms="true"/>
此字段包含0到12之间的值,我建立我的查询,如下所示:
http://localhost:8080/select?indent=on&q=BA048*&fq=facet_age_filter:[0 TO 3]
问题是,在我的结果中,我得到的结果并不是过滤查询的结果。即:4至12的样本
有什么想法吗?
正如我所说的,我从solr开始,指出我是不是做了一些非常愚蠢的事情,或者我是否可以在文档中找到解决方案(我无法在wiki中找到任何内容) )。
编辑: 感谢您的评论。
将字段更改为Integer:
<fieldType name="integer" class="solr.IntField" omitNorms="true"/>
<field name="facet_age_filter" type="integer" indexed="true" multiValued="true" stored="true" omitNorms="true"/>
将其更改为存储要在查询响应中显示的结果。
如果我按照nickdos的说法进行过滤,它的工作正常。但我仍然得到超出范围的结果。
同一查询的示例查询结果:
{
"cod":"BA048555",
"facet_age_filter":[1,8]},
{
"cod":"BA048444",
"facet_age_filter":[4,12]},
这是对的吗?括号中的这些值?
感谢,