对于我的应用程序,我使用的是Elasticsearch提供的count API,用于使用RestHighLevel Client获取Java中我的搜索查询的合计值。但是,我面临着这样一种情况,我需要根据需要包含按条件分组的货币来获取汇总。关于如何使用count API Java代码按条件添加分组的任何想法?
答案 0 :(得分:0)
以下是使用聚合函数获取计数的示例查询。
{
"size" : 0,
"query" : {
"term" : {
"columnid" : {
"value" : 1,
"boost" : 1.0
}
}
},
"_source" : false,
"stored_fields" : "_none_",
"aggregations" : {
"groupby" : {
"composite" : {
"size" : 10,
"sources" : [
{
"14" : {
"terms" : {
"field" : "columnid",
"missing_bucket" : true,
"order" : "asc"
}
}
}
]
}
}
}
}
也可以使用以下查询将SQL查询转换为kibana查询-
POST _xpack/sql/translate
{
"query": "SELECT COUNT(*), columnid FROM Indexname WHERE columnid=1 group by columnid ",
"fetch_size": 10
}
如果可以解决您的问题,请标记答案。