elasticsearch 聚合结果计算问题?

使用elasticsearch过程中遇到一个问题,需要对前面的聚合结果进行计算,不知道该怎么处理,求大神指教。

例如一下聚合语句:

   "aggs": {
      "yesterday": {
         "filter": {
            "range": {
               "timestamp": {
                  "from": 1476806400000,
                  "to": 1476892555000
               }
            }
         },
         "aggs": {
            "eventA_count": {
               "filter": {
                  "term": {
                     "event": "eventA"
                  }
               }
            },
            "eventB_count": {
               "filter": {
                  "term": {
                     "event": "eventB"
                  }
               }
            },
            "(eventA / eventB)的结果":{
                ......
            }
         }
      }
  }

聚合结果中可以得到以下数据,

"aggregations": {
      "yesterday": {
         "doc_count": 42,
         "eventA_count": {
            "doc_count": 30
         },
         "eventB_count": {
            "doc_count": 12
         }
      }
  }

聚合语句中,通过filter可以得到eventA_count, eventB_count的值,现在想计算(eventA_count/eventB_count)的结果,上面(eventA_count/eventB_count)的结果中的处理语句该怎么写?

阅读 3.4k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进