Elasticsearch在某些记录中获得成功,而在其他记录中获得聚合

问题描述

我有一个复杂的Elasticsearch查询,其中包含聚合,并且我想获取某些记录(基于字段“ application_name ”)的命中结果,以及其他记录的存储桶。问题在于,对于事件(我想为其获取桶),我不想让它们出现在点击中,如果我将“ size = 0”设为“我”,那么我将无法从点击中获取其他普通事件。

是否有任何方法可以根据application_name或其他可以帮助我解决问题的解决方案来设置size = 0?

PS。目前,我创建了两个查询一个查询是我命中的,另一个查询是汇总的,但是我想尽可能做到这一点。

我的查询(简体):

{
  "query": {
    "bool": {
      "should": [
        {
          "match": {
            "application_name": "app_x"
          }
        },{
          "match": {
            "application_name": "app_y"
          }
        },{
          "bool": {
            "must": [
              {
                "range": {
                  "date": {
                    "from": "2020-08-24","to": "2020-08-24","boost": 1
                  }
                }
              }
            ]
          }
        }
      ]
    }
  },"aggregations": {
    "so": {
      "terms": {
        "field": "so","size": 1000,"min_doc_count": 1,"shard_min_doc_count": 0,"show_term_doc_count_error": false,"order": [
          {
            "_count": "desc"
          },{
            "_key": "asc"
          }
        ]
      },"aggregations": {
        "R-agg": {
          "filter": {
            "term": {
              "task_name": {
                "value": "Rapp","boost": 1
              }
            }
          }
...``` 

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...