我想将ids查询与must_not子句结合使用。我正在将( gem )轮胎与rails应用程序一起使用。

我正在做这样的事情:

query do
  ids ["foo", "bar", "test"]
end

哪个有效。但是,当我尝试将其与must_not子句结合使用时,出现了错误-must_not仅适用于boolean范围,不包括ids查询。有什么办法可以合并这两个查询?

最佳答案

您需要使用的ES查询是此查询:

GET /some_index/some_type/_search
{
  "query": {
    "bool": {
      "must": [
        {
          "ids": {
            "values": ["foo", "bar", "test"]
          }
        }
      ],
      "must_not": [
        {
          "match": {
            "name": "whatever"
          }
        }
      ]
    }
  }
}

因此,您需要 bool(boolean) 范围,带有mustids和带有您的“不匹配查询”的must_not

10-06 15:30
查看更多