0

I have written elasticsearch query using java api in which status count is fetched per day.

Code:

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();

I am trying to sort data by DTCREATED field which contains both date and time but query does not provide sorted result. I can't find what I am missing in query. Any help ?

ASP
  • 121
  • 1
  • 1
  • 12

1 Answers1

0

What if you have your .addSort as below:

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

Few samples here might help you.

Eddie Curtis
  • 1,207
  • 8
  • 20
Kulasangar
  • 9,046
  • 5
  • 51
  • 82