我使用 java api 编写了 elasticsearch 查询,其中每天获取状态计数。
代码:
SearchResponse responseOutput = client.prepareSearch(ConstantsValue.indexName)
.setTypes(ConstantsValue._Type)
.setFetchSource(new String[]{"STATUS", "DTCREATED"}, null)
.setQuery(
QueryBuilders.filteredQuery(QueryBuilders.matchAllQuery(),
FilterBuilders.rangeFilter("DTCREATED").from(fromDate).to(toDate))).
addAggregation(AggregationBuilders.terms("STATUS_AGG").field("STATUS")
.subAggregation(AggregationBuilders.dateHistogram("DATE_AGG").field("DTCREATED").interval(DateHistogram.Interval.DAY).format("yyyy-MM-dd"))
)
.addSort("DTCREATED", SortOrder.ASC)
.get();
我正在尝试按包含日期和时间但查询不提供排序结果的 DTCREATED 字段对数据进行排序。我在查询中找不到我缺少的东西。有什么帮助吗?