使用范围查询Solr多值字段

时间:2013-05-07 10:08:15

标签: solr full-text-search

我在Solr中有一个奇怪的多值字段,我似乎可以反复复制。

我有一组titles,其中有一个名为special_offer_type的字段。该字段的类型为:

[
    "5",
    "3",
    "0"
]

如果我这样做,查询工作正常:

special_offer_type:4

然后我得到5个结果,但是,如果我这样做:

special_offer_type:[3 TO *]

我只收到两个结果。

似乎Solr正在处理多值字段的范围,因为该范围必须满足字段中的所有值。

我无法在文档中找到对此的直接引用,所以我的问题是这种行为是否可以预期?

1 个答案:

答案 0 :(得分:1)

尝试使用Int字段类型来支持正确的整数范围查询

同时检查sint与整数。

Documentation: -

  

像sint,sdouble这样的可排序字段类型有点用词不当。他们   在上述意义上的排序不需要,但是   在进行RangeQuery查询时需要。事实上,Sortables是指   使数字按字典顺序排序的概念   字符串。也就是说,如果没有这样做,数字1..10排序   按字典顺序排列为1,10,2,3 ......使用sint,但是补救措施   这个。但是,如果您不需要仅执行RangeQuery查询   需要对字段进行排序,然后只需使用int或double或者   等同的适当班级。你将节省自己的时间和记忆。