我正在寻找一种构建“反向”范围查询的方法,即而不是定义一个字段
<field name="myfield" type="int" ...>
然后在查询中指定一个间隔
myfield:[x TO y]
我宁愿在我的模式中定义一个“间隔字段”
<field name="myfield" type="<whatever_fits_here>" multivalued="true" ...>
例如,该字段的值可能是
[100 TO 250], [460 TO 800], [970 TO 1040]
然后,查询将包含该字段的精确值,因此如果该值包含在其任何间隔中,则记录将匹配。
注意:将区间中的所有可能值收集到一个多值字段中不是一个选项,这在许多情况下会导致每条记录大约 10000 个值(即区间的上限和下限因该数字而异)。