【问题标题】:Sortorder in ElasticsearchElasticsearch 中的排序
【发布时间】:2017-04-13 06:58:07
【问题描述】:

我使用 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 字段对数据进行排序,但查询不提供排序结果。我在查询中找不到我缺少的东西。有什么帮助吗?

【问题讨论】:

  • 您是否遇到任何错误或异常?

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


【解决方案1】:

如果您的.addSort 如下所示:

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

here 的一些示例可能会对您有所帮助。

【讨论】:

    猜你喜欢
    • 2021-02-11
    • 2015-01-23
    • 1970-01-01
    • 1970-01-01
    • 2017-10-26
    • 2020-01-26
    • 2013-08-06
    • 2018-01-16
    • 1970-01-01
    相关资源
    最近更新 更多