我从 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 中找不到任何内容)。
编辑:感谢您的评论。
将字段更改为整数:
<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]},
这是正确的吗?括号中的这些值?
谢谢,