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