背景 在做elasticsearch集群从原来的2.x版本升级到更新版本如6.x过程中,由于需要在原来的应用中,同时连接2.x的集群以及6.x的集群来做在线动态灰度切流量,保证流量平滑切换,有问题可随时回切;一般在应用侧比较常规的做法是使用elasticsearch提供rest的sdk:Java High Level REST Client,可以最大程度的保证多版本的兼容性;但在切换过程中也遇到了比较一些兼容性的问题,今天主要来讨论一下关于聚合结果处理的问题; 直方图统计2.x集群返回结果无法解决的问题 在应用中有一个根据价格区间的直方图统计服务,统计查询语句如下: //POST /my-index/my-type/_search { "from": 0, "size": 0, "timeout": "10000ms", "aggregations": { "statPrice": { "histogram": { "field": "price", "interval": 10000, "min_doc_count": 1 } } } } 正常的出参数据如下: {...