弹性搜索不是带有 AND 和 OR 的布尔运算


Elastic search NOT boolean opeation with AND and OR

我想包含和排除使用AND和OR的专业知识,包括与AND和OR操作工作正常。但是当使用 AND 和 OR 排除专业知识时,返回的结果计数与 3 相同。我使用的是弹性搜索版本 1.4。帮我解决这个问题。提前谢谢。

下面是我的代码 OR 操作与 NOT

{
  "query_string": {
    "query": "et_tax:'"Commercial'" et_tax: '"Technology, Media & Telecoms'" AND ( -et_tax:'"Hotel,Leisure & Hospitality'" OR  -et_tax:'"Mergers & Acquisitions'")"
  }
}      

和操作与 NOT

{
  "query_string": {
    "query": "et_tax:'"Commercial'" et_tax: '"Technology, Media & Telecoms'" AND  -et_tax:'"Hotel,Leisure & Hospitality'" AND  -et_tax:'"Mergers & Acquisitions'""
  }
}

我找到了 AND 操作问题的答案

NOT (et_tax:"Hotel,Leisure & Hospitality"和et_tax:"Mergers & Acquisitions")

用于手术室操作

NOT (et_tax:"Hotel,Leisure & Hospitality"或et_tax:''"Mergers & Acquisitions")