【问题标题】:Elastic search aggregation sum弹性搜索聚合和
【发布时间】:2014-06-21 09:03:44
【问题描述】:

我正在使用 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."
                      }
                   ]
                }
}

假设我需要获取在 report 字段中以 status = 2 发布的所有成功消息的计数。收藏中会有很多记录。我想报告所有发布的成功消息。

我试过下面的代码 ///////////// 编辑

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

请帮助我找到一些解决方案。我是弹性搜索的新手。有没有其他聚合方法可以找到这个?我非常感谢您的帮助。

【问题讨论】:

    标签: elasticsearch nosql


    【解决方案1】:

    您的脚本过滤器在处理大数据时速度很慢,并且没有利用“索引”的好处。您是否考虑过父/子而不是嵌套?如果您使用父/子 - 您可以本机使用聚合并使用计算总和。

    【讨论】:

    【解决方案2】:
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-19
    • 2017-03-10
    • 1970-01-01
    • 2019-11-08
    • 2021-02-19
    相关资源
    最近更新 更多