【问题标题】:Elasticsearch - ElasticRestHighLevelClient Filtering Values with partitionElasticsearch - ElasticRestHighLevelClient 使用分区过滤值
【发布时间】:2021-09-29 13:02:49
【问题描述】:

如何使用 ElasticRestHighLevelClient 创建如下查询:

我无法将此部分添加到我的查询中。

"include": {
               "partition": 0,
               "num_partitions": 20
            }

这是我需要的:

GET /_search
{
   "aggs": {
      "expired_sessions": {
         "terms": {
            "field": "account_id",
            "include": {
               "partition": 0,
               "num_partitions": 20
            },
            "size": 10000,
         }
      }
   }
}

这是我的 java 代码。

        AggregationBuilder AggregationBuilder = AggregationBuilders
                .terms("CONTACT_ID")
                .field("CONTACT_ID")
                .size(10000);

【问题讨论】:

    标签: java elasticsearch aggregate


    【解决方案1】:

    这就是你要找的东西:

      IncludeExclude includeExclude = new IncludeExclude(0, 20);
        
      AggregationBuilder aggrBuilder = AggregationBuilders
                               .terms("expired_sessions")
                               .field("account_id")
                               .includeExclude(includeExclude)
                               .size(10000);
        
      searchSourceBuilder.aggregation(aggregationBuilder);
    

    对应的JSON:

    "aggregations":{
          "expired_sessions":{
             "terms":{
                "field":"account_id",
                "size":10000,       
                "include":{
                   "partition":0,
                   "num_partitions":20
                }
             }
         }
    }
    

    【讨论】:

      猜你喜欢
      • 2016-12-04
      • 2021-05-18
      • 2014-09-18
      • 1970-01-01
      • 2018-10-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多