elasticsearch 组合两个查询的结果,elasticsearch,kibana,querydsl,elasticsearch,Kibana,Querydsl" /> elasticsearch 组合两个查询的结果,elasticsearch,kibana,querydsl,elasticsearch,Kibana,Querydsl" />

elasticsearch 组合两个查询的结果

elasticsearch 组合两个查询的结果,elasticsearch,kibana,querydsl,elasticsearch,Kibana,Querydsl,我正在使用KibanaV6.1.1,并试图在一个get中请求两个不同的查询,以便多次使用“必须”或“应该”术语。 当我在Kibana中的“Dev Tools”下运行此查询时,它可以工作。 当我想在“Discover”->“adda filter”->“Edit filter”->“Edit query DSL”下应用这个“double query”(当然没有GET行)时,它不接受语法{}以便在查询之间创建一个“OR”。 这两个“必须”术语必须分开,但保留在同一个过滤器中 GET _my_inde

我正在使用KibanaV6.1.1,并试图在一个
get
中请求两个不同的查询,以便多次使用“必须”或“应该”术语。 当我在Kibana中的“Dev Tools”下运行此查询时,它可以工作。 当我想在“Discover”->“adda filter”->“Edit filter”->“Edit query DSL”下应用这个“double query”(当然没有GET行)时,它不接受语法
{}
以便在查询之间创建一个“OR”。 这两个“必须”术语必须分开,但保留在同一个过滤器中

GET _my_index/_search
{
  "query" : {
    "bool" : {
      "must" : [{
        ...
      }]
    }
  }
}
{}
{
  "query" : {
    "bool" : {
      "must" : [{
        ...
      }]
    }
  }
}
附言。
使用
simple\u query\u string
似乎无法解决问题,到目前为止,我无法找到将这两个查询组合起来的方法。

我不确定您实际想要实现什么。如果至少有一个
should
s必须匹配,请使用以下命令(如果没有其他条件,则存在隐式
minimum\u should\u match
,但您也可以为此设置显式值):


如果您想运行独立查询,请使用。

谢谢您的评论。问题是,一个查询为特定的“必须”-“应该”-“必须不”组合提供了某些结果,而另一个查询需要不同的“必须”-“应该”-“必须不”组合。它们不能同时存在于同一个查询中。我需要的是两个查询的结果。当我在上面写的“dev tools”下编写查询时,我已经实现了这个结果,但在“discover”下无法实现
{
  "query" : {
    "bool" : {
      "should" : [
        {
          ...
        },
        {
          ...
        }
      ]
    }
  }
}