0

ステータスカウントが1日あたりにフェッチされる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 フィールドでデータを並べ替えようとしていますが、クエリは並べ替えられた結果を提供しません。クエリで不足しているものを見つけることができません。助けはありますか?

4

1 に答える 1

0

以下のような場合はどうなりますか.addSort

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

ここにあるいくつかのサンプルが役に立ちます。

于 2016-11-29T10:38:59.163 に答える