elasticsearch为一些记录获取点击率,为其他记录获取聚合的存储桶

6ss1mwsb  于 2021-06-15  发布在  ElasticSearch
关注(0)|答案(0)|浏览(249)

我有一个复杂的elasticsearch查询,其中包含聚合,我希望获得一些记录的命中结果(基于字段:“application\u name”),以及其他记录的聚合桶。问题是,对于事件(我想获取bucket),我不想在hits中包含它们,如果我输入“size=0”,我将无法从hits中获取其他普通事件。
是否有任何方法可以根据应用程序名称或其他可以帮助我解决问题的解决方案将大小设置为0?
另外,目前我创建了两个查询,一个从中获得点击,另一个用于聚合,但如果可能的话,我想立即这样做。
我的查询(简化):

{
  "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
              }
            }
          }
...```

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题