Arrays Solr查询以筛选数组中至少有一个值(指定值除外)的文档
是否有一种方法可以过滤查询,所以我将获得具有特定数组字段的文档,其中至少包含一个其他值,但我传递的值除外 例如,我有3个文档Arrays Solr查询以筛选数组中至少有一个值(指定值除外)的文档,arrays,solr,filter,multivalue,Arrays,Solr,Filter,Multivalue,是否有一种方法可以过滤查询,所以我将获得具有特定数组字段的文档,其中至少包含一个其他值,但我传递的值除外 例如,我有3个文档 2. 4. 2. 4. 3. 1. 我希望文档在my_数组中至少包含一个除2和4之外的其他值。 因此,结果将是: 4. 3. 1. 您可以试试 qf=my_array&q=+(2 4) +([* TO 1] [3 TO 3] [5 TO *]) 这意味着 我的_数组应包含2或4个 my_数组应包含一个值x,x4 我知道3和3之间的有点奇怪,但这是因为这个例
2.
4.
2.
4.
3.
1.
我希望文档在my_数组中至少包含一个除2和4之外的其他值。
因此,结果将是:
4.
3.
1.
您可以试试
qf=my_array&q=+(2 4) +([* TO 1] [3 TO 3] [5 TO *])
这意味着
我的_数组应包含2或4个
my_数组应包含一个值x,x<2,x介于3和3之间,x>4
我知道3和3之间的有点奇怪,但这是因为这个例子
需要注意的是,您需要在客户端计算查询以获得正确的range子句。虽然计算这个的逻辑并不难
我已经用eDisMax试过了,它的配置如下
埃迪斯马克斯
*,得分
1.