elasticsearch,Nosql,elasticsearch" /> elasticsearch,Nosql,elasticsearch" />

Nosql Elasticsearch中的求和查询

Nosql Elasticsearch中的求和查询,nosql,elasticsearch,Nosql,elasticsearch,我对Elasticsearch相当陌生。我正在尝试编写一个查询,该查询将按字段分组并计算总和。在SQL中,我的查询如下所示: 选择车道,按车道从车道组中求和(路线) 我在ES中有这样的数据: { "_index": "kpi", "_type": "mroutes_by_lane", "_id": "TUeWFEhnS9q1Ukb2QdZABg", "_score": 1.0, "_source": { "warehouse_id": 107, "date":

我对Elasticsearch相当陌生。我正在尝试编写一个查询,该查询将按字段分组并计算总和。在SQL中,我的查询如下所示:
选择车道,按车道从车道组中求和(路线)

我在ES中有这样的数据:

{
  "_index": "kpi",
  "_type": "mroutes_by_lane",
  "_id": "TUeWFEhnS9q1Ukb2QdZABg",
  "_score": 1.0,
  "_source": {
    "warehouse_id": 107,
    "date": "2013-04-08",
    "lane": "M05",
    "routes": 4047
  }
},
{
  "_index": "kpi",
  "_type": "mroutes_by_lane",
  "_id": "owVmGW9GT562_2Alfru2DA",
  "_score": 1.0,
  "_source": {
    "warehouse_id": 107,
    "date": "2013-04-08",
    "lane": "M03",
    "routes": 4065
  }
},
{
  "_index": "kpi",
  "_type": "mroutes_by_lane",
  "_id": "JY9xNDxqSsajw76oMC2gxA",
  "_score": 1.0,
  "_source": {
    "warehouse_id": 107,
    "date": "2013-04-08",
    "lane": "M05",
    "routes": 3056
  }
},
{
  "_index": "kpi",
  "_type": "mroutes_by_lane",
  "_id": "owVmGW9GT345_2Alfru2DB",
  "_score": 1.0,
  "_source": {
    "warehouse_id": 107,
    "date": "2013-04-08",
    "lane": "M03",
    "routes": 5675
  }
},
...

我想在ES中运行与在SQL中相同的查询,因此我的结果类似(当然是json):
M05:7103、M03:9740

在elasticsearch中,您可以使用以下方法实现:


谢谢伊莫托夫。如何对统计结果进行排序?我想按车道字段排序,即
facets.lane\u routes\u stats.terms.term
我在回答中链接的文档中描述了所有排序选项。我还用一个例子更新了答案。
{
    "query" : {
        "match_all" : {  }
    },
    "facets" : {
        "lane_routes_stats" : {
            "terms_stats" : {
                "key_field" : "lane",
                "value_field" : "routes",
                "order": "term"
            }
        }
    }
}