1

我从 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]},

这是正确的吗?括号中的这些值?

谢谢,

4

0 回答 0