Elasticsearch中的Sortorder

时间:2016-11-29 10:14:33

标签: elasticsearch elasticsearch-java-api elasticsearch-aggregation

我使用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字段对数据进行排序,该字段包含日期和时间,但查询不提供排序结果。我无法找到查询中缺少的内容。有什么帮助吗?

1 个答案:

答案 0 :(得分:0)

如果您的.addSort如下所示:

.addSort(SortBuilders.fieldSort("DTCREATED").order(SortOrder.ASC))

很少有样本here可能对您有帮助。