簡體   English   中英

彈性搜索聚合總和

[英]Elastic search aggregation sum

我正在使用elasticsearch 1.0.2,我想使用帶有諸如sum()之類的聚合函數的查詢對它進行搜索

假設我的單條記錄數據是這樣的

{
                "_index": "outboxpro",
                "_type": "message",
                "_id": "PAyEom_mRgytIxRUCdN0-w",
                "_score": 4.5409594,
                "_source": {
                   "team_id": "1bf5f3f968e36336c9164290171211f3",
                   "created_user": "1a9d05586a8dc3f29b4c8147997391f9",
                   "created_ip": "192.168.2.245",
                   "folder": 1,
                   "report": [
                      {
                         "networks": "ec466c09fd62993ade48c6c4bb8d2da7facebook",
                         "status": 2,
                         "info": "OK"
                      },
                      {
                         "networks": "bdc33d8ca941b8f00c2a4e046ba44761twitter",
                         "status": 2,
                         "info": "OK"
                      },
                      {
                         "networks": "ad2672a2361d10eacf8a05bd1b10d4d8linkedin",
                         "status": 5,
                         "info": "[unauthorized] Invalid or expired token."
                      }
                   ]
                }
}

假設我需要獲取報告字段中狀態為2的所有成功消息的計數。 收藏中會有很多記錄。 我要報告所有已發布的成功消息。

我嘗試了以下代碼////////////// 編輯

  {
   "size": 2000,
   "query": {
      "filtered": {
         "query": {
            "match": {
               "team_id": {
                  "query": "1bf5f3f968e36336c9164290171211f3"
               }
            }
         }
      }
   },
   "aggs": {
      "genders": {
         "terms": {
            "field": "report.status"
         }
      }
   }
}

請幫助我找到一些解決方案。 是從事彈性搜索的新手。 是否有其他聚合方法可以找到此方法? 您的幫助我非常感謝。

您的腳本過濾器在處理大數據時速度較慢,並且不使用“索引”的好處。 您是否考慮父母/孩子而不是嵌套? 如果您使用父級/子級-您可以本機使用聚合並使用計算總和。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM