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

**URL:** <https://discuss.elastic.co/t/java-api-is-returning-five-documents-when-queried-for-latest-doc-using-custom-id/28526>\
**Category:** Elasticsearch\
**Created:** [September 2, 2015, 1:44pm UTC](https://discuss.elastic.co/t/java-api-is-returning-five-documents-when-queried-for-latest-doc-using-custom-id/28526 "2015-09-02T13:44:52Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![pDonS](https://avatars.discourse-cdn.com/v4/letter/p/b4bc9f/32.png) [@pDonS](https://discuss.elastic.co/u/pDonS)\
**Post date:** [September 2, 2015, 1:44pm UTC](https://discuss.elastic.co/t/java-api-is-returning-five-documents-when-queried-for-latest-doc-using-custom-id/28526/1 "2015-09-02T13:44:52Z")

</div>

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)  
.setTypes(type)  
.setSearchType(SearchType.QUERY\_AND\_FETCH)  
.setQuery(QueryBuilders.matchQuery(field, value))  
.addSort("logID", SortOrder.DESC)  
.addSort("postDate", SortOrder.DESC)  
.setFrom  
.setSize(1).setExplain(true)  
.execute()  
.actionGet();

Output

Top latest five documents

---

<div class="post-metadata">

**Author:** ![dakrone](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/dakrone/32/23351_2.png) [@dakrone](https://discuss.elastic.co/u/dakrone)\
**Post date:** [September 2, 2015, 3:38pm UTC](https://discuss.elastic.co/t/java-api-is-returning-five-documents-when-queried-for-latest-doc-using-custom-id/28526/2 "2015-09-02T15:38:41Z")

</div>

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: [https://www.elastic.co/guide/en/elasticsearch/reference/current/search-request-search-type.html#query-and-fetch](https://www.elastic.co/guide/en/elasticsearch/reference/current/search-request-search-type.html#query-and-fetch) where this is mentioned to be an **internal** optimization and should not be explicitly set by the user.

---

<div class="post-metadata">

**Author:** ![pDonS](https://avatars.discourse-cdn.com/v4/letter/p/b4bc9f/32.png) [@pDonS](https://discuss.elastic.co/u/pDonS)\
**Post date:** [September 3, 2015, 10:54am UTC](https://discuss.elastic.co/t/java-api-is-returning-five-documents-when-queried-for-latest-doc-using-custom-id/28526/3 "2015-09-03T10:54:43Z")

</div>

Thanks a lot . Your help is much appreciated

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)\
**Post date:** [July 5, 2017, 11:52pm UTC](https://discuss.elastic.co/t/java-api-is-returning-five-documents-when-queried-for-latest-doc-using-custom-id/28526/4 "2017-07-05T23:52:19Z")

</div>

Closed on July 5, 2017, 11:52pm UTC


