【问题标题】:Querying Solr Multi valued fields using range使用范围查询 Solr 多值字段
【发布时间】:2013-05-07 10:08:15
【问题描述】:

我在 Solr 中有点奇怪,我似乎可以重复复制多值字段。

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

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

如果我这样做,查询效果很好:

special_offer_type:4

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

special_offer_type:[3 TO *]

我只得到两个结果。

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

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

【问题讨论】:

  • special_offer_type 的字段类型是什么?必须是 int 才能支持数字范围查询
  • @Jayendra 它是问题中所示的字符串类型,我确实更改了它并且这部分有效,如果您想将其发布为答案,我会标记它
  • 确定..作为答案添加。

标签: solr full-text-search


【解决方案1】:

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

还要检查 sint 与整数。

Documentation:-

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-12-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-06
    • 2011-11-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多