Ume*_*cha 10 java elasticsearch
您好我正在尝试通过遵循sql查询进行弹性搜索查询,我想使用Java API实现相同的逻辑
select dttime, avg(cpu) from table cpustats where server="X" and dttime="Y" group by dttime,cpu
Run Code Online (Sandbox Code Playgroud)
现在我有以下Java代码但它没有返回预期的输出
SearchResponse response = client.prepareSearch("cpuindex")
.setTypes("cputype")
.setQuery(QueryBuilders.matchAllQuery())
.addAggregation(AggregationBuilders.terms("cpu_agg")
.field("cpu").size(100))
.execute().actionGet();
Run Code Online (Sandbox Code Playgroud)
请指导我是Elastic search的新手.提前致谢.
pro*_*mer 18
我认为这会有所帮助.
SearchResponse response=
client.prepareSearch("your_index_name_here").setQuery(QueryBuilders.filteredQuery(QueryBuilders.matchAllQuery(),
FilterBuilders.andFilter(
FilterBuilders.termFilter("server","x"),
FilterBuilders.termFilter("dt_time","x")
))).addAggregation(
AggregationBuilders.terms("dt_timeaggs").field("dt_time").size(100).subAggregation(
AggregationBuilders.terms("cpu_aggs").field("cpu").size(100)
)
).setSize(0).get();
Run Code Online (Sandbox Code Playgroud)
请验证.
归档时间: |
|
查看次数: |
15990 次 |
最近记录: |