Arrays Solr查询以筛选数组中至少有一个值(指定值除外)的文档

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之间的有点奇怪,但这是因为这个例

是否有一种方法可以过滤查询,所以我将获得具有特定数组字段的文档,其中至少包含一个其他值,但我传递的值除外

例如,我有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.