对于我的应用程序,我使用的是Elasticsearch提供的count API,用于使用RestHighLevel Client获取Java中我的搜索查询的合计值。但是,我面临着这样一种情况,我需要根据需要包括按条件分组的货币来获取汇总。关于如何使用count API Java代码按条件添加分组的任何想法?
以下是使用聚合函数获取计数的示例查询。
{ "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 }
如果可以解决您的问题,请标记为答案。