gpt4 book ai didi

Solr 查询值是否与多个区间之一匹配

转载 作者:行者123 更新时间:2023-12-04 05:49:03 25 4
gpt4 key购买 nike

我正在寻找一种构建“反向”范围查询的方法,即不是定义字段

<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 个值(即间隔的上限和下限因该数字而异)。

最佳答案

Poly 字段为 described in this blog post一定是你要找的。

它包括 location(Double,Double) 的模式定义类型:

<fieldType name=”location” class=”solr.PointType” dimension=”2″ subFieldType=”double”/>
<field name=”store” type=”location” indexed=”true” stored=”true”/>

还有一个查询:
q=store:[44,-90 TO 46,-94]

因此,您可以创建一个 range(Int,Int) 字段类型和一个使用它的多值字段。
q=myfield:[75,* TO *,75] //a range that includes 75
q=myfield:[50,* TO *,100] //a range that includes 50-100

免责声明:我自己从未使用过多边形字段。我不知道这些查询如何在多值字段上工作。

关于Solr 查询值是否与多个区间之一匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10312441/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com