我在Solr中有一个奇怪的多值字段,我似乎可以反复复制。
我有一组titles
,其中有一个名为special_offer_type
的字段。该字段的类型为:
[
"5",
"3",
"0"
]
如果我这样做,查询工作正常:
special_offer_type:4
然后我得到5个结果,但是,如果我这样做:
special_offer_type:[3 TO *]
我只收到两个结果。
似乎Solr正在处理多值字段的范围,因为该范围必须满足字段中的所有值。
我无法在文档中找到对此的直接引用,所以我的问题是这种行为是否可以预期?
答案 0 :(得分:1)
尝试使用Int字段类型来支持正确的整数范围查询
同时检查sint与整数。
像sint,sdouble这样的可排序字段类型有点用词不当。他们 在上述意义上的排序不需要,但是 在进行RangeQuery查询时需要。事实上,Sortables是指 使数字按字典顺序排序的概念 字符串。也就是说,如果没有这样做,数字1..10排序 按字典顺序排列为1,10,2,3 ......使用sint,但是补救措施 这个。但是,如果您不需要仅执行RangeQuery查询 需要对字段进行排序,然后只需使用int或double或者 等同的适当班级。你将节省自己的时间和记忆。