Solr查询-至少有一个值不在特定列表中的数组

w7t8yxp5  于 2022-11-05  发布在  Solr
关注(0)|答案(1)|浏览(130)

我需要一种方法来过滤查询,以获得包含数组的文档,其中至少有一个值不在特定列表中。
例如:

{
  id:1,
  field:["dog", "cat", "bird"]
},
{
  id:2,
  field:["cat", "bird"]
},
{
  id:3,
  field:["bird"]
}

我想过滤至少包含一个非“cat”和“bird”值的文档。预期结果:

{
  id:1,
  field:["dog", "cat", "bird"]
}

我发现了这个类似的问题,但答案似乎只适用于整数值:Solr query to filter document with at least one value in array except of specified values
我可以更改文档结构、添加新字段、计算它们......如果需要。
谢谢你的帮助!

z9ju0rcb

z9ju0rcb1#

我在测试中对更复杂的值进行排序时犯了一个错误,所以看起来这个方法不起作用。
解决方法:

qf=field&q=+([* TO bird} {bird TO cat} {cat TO *])

非常感谢MatsLindh

相关问题