elasticsearch - 使用 channel ID分组获取最大值和最小值

标签 elasticsearch elasticsearch-aggregation elasticsearch-query

我想使用按 channel ID分组获得最大值和最小值,也想获得最大视频ID和最小视频ID

 {

  "query": {
    "term": {
      "channel_id.keyword": {
        "value": "UCQOd1f6pYldvhgvdQ_ktpGA"
      }
    }
  },
  "aggs": {
    "views_max": {
      "max": {
        "field": "views",
        "missing": 0
      },
      "_source":["video_id","views"]
    },
     "views_min": {
      "min": {
        "field": "views",
        "missing": 0
      },
       "_source":["video_id","views"]
    }
  }
}

最佳答案

{
  "aggs": {
    "2": {
      "terms": {
        "field": "channel_id.keyword",
        "order": {
          "1": "desc"
        },
        "size": 10
      },
      "aggs": {
        "1": {
          "max": {
            "field": "video_id"
          }
        },
        "3": {
          "min": {
            "field": "video_id"
          }
        }
      }
    }
  },
  "size": 0,
  "_source": {
    "excludes": []
  },
  "query": {
    "bool": {
      "must": [],
      "filter": [
        {
          "bool": {
            "should": [
              {
                "match": {
                  "channel_id.keyword": "UCQOd1f6pYldvhgvdQ_ktpGA"
                }
              }
            ],
            "minimum_should_match": 1
          }
        }
      ]
    }
  }
}

上面的查询将给出特定channel_id的最大和最小video_id。
{
  "aggs": {
    "2": {
      "terms": {
        "field": "channel_id.keyword",
        "order": {
          "1": "desc"
        },
        "size": 10
      },
      "aggs": {
        "1": {
          "max": {
            "field": "video_id"
          }
        },
        "3": {
          "min": {
            "field": "video_id"
          }
        }
      }
    }
  },
  "size": 0,
  "_source": {
    "excludes": []
  }
}

通过上述查询,您将能够获取所有不同的channel_id各自的最大和最小video_id

关于elasticsearch - 使用 channel ID分组获取最大值和最小值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62164156/

相关文章:

java - 从源代码构建 Elasticsearch,但它需要 Java 10

mongodb - mongodb elasticsearch 和 redis 的用例

elasticsearch - Elasticsearch查询具有多个条件的不同值

elasticsearch - ElasticSearch路径层次结构 token 生成器聚合

elasticsearch - 维基词典/MediaWiki 搜索和后缀过滤

elasticsearch - 在 Elasticsearch Nest 5.5 中使用 .Scroll 时遇到问题

java - 如何通过Elasticsearch中的嵌套字段计算多个唯一文档?

elasticsearch - 如何在Elastic Search中使用Standard Analyzer分析文本

elasticsearch - 用于嵌套聚合以返回计数值桶的 Elasticsearch 查询是什么?

elasticsearch - Elasticsearch将一个数组与另一个数组匹配