{ "aggs":{ "by_day":{ "date_histogram":{ "field":"date", "interval":"day", "time_zone":"+08:00" } } } } 该段代码转java写法
时间: 2023-06-28 19:05:16 浏览: 70
以下是将该段代码转换为Java写法的示例:
```java
import org.elasticsearch.search.aggregations.AggregationBuilders;
import org.elasticsearch.search.aggregations.bucket.histogram.DateHistogramInterval;
import org.elasticsearch.search.aggregations.bucket.histogram.Histogram;
import org.elasticsearch.search.aggregations.bucket.histogram.HistogramAggregationBuilder;
HistogramAggregationBuilder aggregation = AggregationBuilders.histogram("by_day")
.field("date")
.interval(DateHistogramInterval.DAY)
.timeZone("+08:00");
Histogram result = searchSourceBuilder.aggregation(aggregation).execute().getAggregations().get("by_day");
```
请注意,这只是一个示例,实际的实现可能会根据您的具体需求而有所不同。
相关问题
es v7 aggs size:0 报错
这个错误通常表示聚合查询没有指定返回结果的大小。在 Elasticsearch 7 中,聚合查询的默认返回结果大小为 0,因此您需要明确指定要返回的结果大小。
例如,在以下查询中,将返回前 10 个桶:
```
POST /sales/_search
{
"size": 0,
"aggs" : {
"popular_colors" : {
"terms" : {
"field" : "color",
"size" : 10
}
}
}
}
```
请注意,`size` 参数设置为 0,以便不返回搜索结果条目。`size` 参数只影响搜索结果的大小,而不影响聚合查询的结果大小。因此,您需要使用 `size` 参数设置聚合查询结果的大小。
{"size":10,"aggs":{"group_by_field":{"terms":{"field":"mo_id.keyword"}}}} 分组函数返回行数怎么控制
要控制分组函数返回的行数,你可以使用 Elasticsearch 的 `size` 参数来指定每个分组返回的文档数。
根据你提供的查询示例,你可以将 `size` 参数添加到 `terms` 聚合中,如下所示:
```json
{
"size": 0,
"aggs": {
"group_by_field": {
"terms": {
"field": "mo_id.keyword",
"size": 5
}
}
}
}
```
在上面的示例中,我将 `size` 设置为5,这意味着每个分组最多返回5个文档。你可以根据需要调整这个值。
请注意,根据 Elasticsearch 的默认设置,每个分组的默认 `size` 值为10。如果你只想返回特定数量的文档,可以设置 `size` 参数的值为你想要的数目。
另外,如果你希望获取每个分组的完整文档列表,而不仅仅是文档数目,你可以将 `size` 参数设置为较大的值,或者将其设置为0以获取所有文档。