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

时间:2016-02-01 06:07:33

标签: php elasticsearch

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

以下是我的代码或NOT操作

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

AND操作与NOT

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

1 个答案:

答案 0 :(得分:1)

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

AND NOT(et_tax:\“Hotel,Leisure& Hospitality \”AND et_tax:\“Mergers& Acquisitions \”)

对于OR操作

AND NOT(et_tax:\“Hotel,Leisure& Hospitality \”OR et_tax:\“Mergers& Acquisitions \”)