2017-04-07 75 views
0

使用弹性搜索5.3聚合api - 无法编写查询,该查询计算日期桶 - 按维/词/字段拆分的度量。我能够制作日期桶并获得针对该桶计算的度量,但无法将其分解为一个术语:说应用程序或术语表示交易。弹性搜索5+版本已弃用了以前版本中的很多API。这里是我得到的 - 这是现在正在汇总该日期桶的所有条款的措施。需要通过一些字段/术语进行分割。我该如何去做。如何使用日期时间桶在ElasticSearch聚合中添加其他术语?

POST /index_name/_search?size=0 
{ 
    "aggs": { 
    "myname_Summary": { 
     "date_histogram": { 
     "field": "@timestamp", 
     "interval": "week" 
     , "format": "yyyy-MM-dd" 
     , "time_zone": "-04:00" 
     }, 
     "aggs":{ "total_volume" : {"sum": {"field": "volume"}} 
     } 

} 
}} 

回答

0

你可以试试这个

{ 
    "size": 0, 
    "aggs": { 
     "myname_Summary": { 
      "date_histogram": { 
       "field": "@timestamp", 
       "interval": "week", 
       "format": "yyyy-MM-dd", 
       "time_zone": "-04:00" 
      }, 
      "aggs": { 
       "split": { 
        "terms": { 
         "field": "application", 
         "size": 10 
        }, 
        "aggs": { 
         "transaction": { 
          "terms": { 
           "field": "transaction", 
           "size": 10 
          }, 
          "aggs": { 
           "total_volume": { 
            "sum": { 
             "field": "volume" 
            } 
           } 
          } 
         } 
        } 
       } 
      } 
     } 
    } 
} 

希望这有助于

+0

感谢@ user3775217,分割条款是给我的每个应用doc_counts的单独列表。不是总量。 “aggregations”:{“myname_Summary”:{“buckets”:[{“key_as_string”:“2017-03-13”,“key”:1489377600000,“doc_count”:1101400,“total_volume”:{“value”:285977085 }“split”:{“doc_count_error_upper_bound”:652,“sum_other_doc_count”:35778,“bucket”:[{“key”:“app2”,“doc_count”:671680},{“key”:“app1” doc_count“:185564} ... – padma

+0

你可以发布json你想要的结果是什么? – user3775217

+0

是这样的: “聚合”:{ “myname_summary”:{ “桶”:[{ “key_as_string”: “2017年3月13日”, “钥匙”:1489377600000, “doc_count”: 1101400, \t [{ “my_app应用”:APP1, \t “my_transaction”: “TXN1”, “total_volume”:{ “值”:2859 }}, \t { “my_app应用”:APP2, \t“ my_transaction“:”txn1“, ”total_volume“:{ ”value“:1857 }}, \t { “程序my_app”:APP3, \t “my_transaction”: “TXN1”, “total_volume”:{ “值”:1659 }} } ] } } – padma

相关问题