Elasticsearch查询" OR但不是ALL"

时间:2016-02-26 05:01:40

标签: elasticsearch kibana kibana-4

我的ES文档如下所示:

Data Sample

其中ResponseQ1,ResponseQ2和ResponseCompleted是整数,其余是字符串文本。

我需要创建一个查询条件,其中满足1或2(但不是全部3个)子条件:

  1. ResponseQ1:0
  2. ResponseQ2:0
  3. ResponseQ3:"跳过"
  4. 使用"进行bool查询"很容易让我得到一个简单的OR关系,其中满足1,2或3个子条件,但我根本无法弄清楚如何实现"但不是所有3个子条件"。

    非常感谢对此的一些指示,谢谢。

    我使用ElasticSearch 2.2通过Kibana 4.4.1运行我的查询。

1 个答案:

答案 0 :(得分:2)

我建议下面的querystring query

(ResponseQ1:0 OR ResponseQ2:0 OR ResponseQ3:"skipped) NOT (ResponseQ1:0 AND Response Q2:0 AND ResponseQ3:"skipped")