2017-04-07 69 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

相關問題