2

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

我有一组titles其中有一个名为special_offer_type. 该字段属于以下类型:

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

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

special_offer_type:4

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

special_offer_type:[3 TO *]

我只得到两个结果。

似乎 Solr 将多值字段上的范围视为该范围必须满足该字段中的所有值。

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

4

1 回答 1

1

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

还要检查 sint 与整数。

文档:-

sint、sdouble 等可排序的字段类型有点用词不当。上述意义上的排序不需要它们,但在进行 RangeQuery 查询时需要它们。事实上,Sortables 指的是使数字按字典顺序正确排序为字符串的概念。也就是说,如果不这样做,数字 1..10 按字典顺序排序为 1,10, 2, 3... 使用 sint,但是可以解决此问题。但是,如果您不需要执行 RangeQuery 查询而只需要对字段进行排序,则只需使用 int 或 double 或等效的适当类。您将节省自己的时间和记忆。

于 2013-05-08T08:06:59.057 回答