我想在java api中执行这个sql查询以获取弹性搜索数据 -
select mime_type,count(*),sum(original_size)
from explore_object_metadata
group by mime_type;
我能够从弹性搜索中获取以下sql查询的数据 -
select mimetype,count(*)
from table
group by mimetype
通过以下链接中的代码 - elastic search aggregation in java for all indexes in elastic search
我怎么得到这个 .
2 回答
您应该使用聚合 .
使用术语聚合按 mime_type https://www.elastic.co/guide/en/elasticsearch/reference/current/search-aggregations-bucket-terms-aggregation.html进行聚合 . 每个 mime_type 的计数将在每个术语桶中计算 .
对于sum(original_size),用户总和聚合https://www.elastic.co/guide/en/elasticsearch/reference/current/search-aggregations-metrics-sum-aggregation.html作为术语的子聚合,以获得每个 mime_type 的总和(original_size) .
我正在使用ElasticSearch API来执行CRUD请求 . API可以使用JAVA代码构建JSON内容 .
以下是API的官方文档:https://www.elastic.co/blog/found-java-clients-for-elasticsearch
这是Maven配置 .