JAVA API is returning five documents when queried for latest doc using custom Id

(PaVan G Jakati) #1

Hi Folks,

We are trying to fetch latest document (top 1) only but getting five documents in return .We are using JAVA API to do it. Code is as below.

SearchResponse response = client.prepareSearch(index)
.setQuery(QueryBuilders.matchQuery(field, value))
.addSort("logID", SortOrder.DESC)
.addSort("postDate", SortOrder.DESC)


Top latest five documents

(Lee Hinman) #2

Hi pDonS,

This is because you are using QUERY_AND_FETCH in your query instead of the default QUERY_THEN_FETCH. Query and fetch's behavior is to retrieve the size from each shard, so since you have 5 shards, you are getting back 5 results.

Additionally we recommend not setting this for your query, see the documentation here: where this is mentioned to be an internal optimization and should not be explicitly set by the user.

(PaVan G Jakati) #3

Thanks a lot . Your help is much appreciated

(system) #4