# Specifying fields in a search using the Java API results in no source being returned

**URL:** <https://discuss.elastic.co/t/specifying-fields-in-a-search-using-the-java-api-results-in-no-source-being-returned/4195>\
**Category:** Elasticsearch\
**Created:** [April 6, 2011, 12:45pm UTC](https://discuss.elastic.co/t/specifying-fields-in-a-search-using-the-java-api-results-in-no-source-being-returned/4195 "2011-04-06T12:45:54Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![Giles\_Velarde](https://avatars.discourse-cdn.com/v4/letter/g/8491ac/32.png) [@Giles\_Velarde](https://discuss.elastic.co/u/Giles_Velarde)\
**Post date:** [April 6, 2011, 12:45pm UTC](https://discuss.elastic.co/t/specifying-fields-in-a-search-using-the-java-api-results-in-no-source-being-returned/4195/1 "2011-04-06T12:45:54Z")

</div>

Hi,

I am trying to search an index using the Java API, but only retrieve certain  
fields from it. I think I have encountered a situation where if one tries to  
specify any fields, using SearchRequestBuilder.addFields(), the source  
always comes back empty. Here is a gist :

[https://gist.github.com/905570#file\_test\_es.java](https://gist.github.com/905570#file_test_es.java)

which should run with only elasticsearch in its classpath. Its output is  
here :

[https://gist.github.com/905570#file\_output\_java.txt](https://gist.github.com/905570#file_output_java.txt)

For comparison, running the same search on the command line :

[https://gist.github.com/905570#file\_search\_on\_command\_line.sh](https://gist.github.com/905570#file_search_on_command_line.sh)

returns the correct results :

[https://gist.github.com/905570#file\_output\_ommand\_line.json](https://gist.github.com/905570#file_output_ommand_line.json)

Best, Giles.

---

<div class="post-metadata">

**Author:** ![kimchy](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/kimchy/32/44952_2.png) [@kimchy](https://discuss.elastic.co/u/kimchy)\
**Post date:** [April 6, 2011, 1:36pm UTC](https://discuss.elastic.co/t/specifying-fields-in-a-search-using-the-java-api-results-in-no-source-being-returned/4195/2 "2011-04-06T13:36:44Z")

</div>

Thats the behavior (both in Java API and REST API), once you specify a field, then \_source is not returned, and you have access to only those fields.  
On Wednesday, April 6, 2011 at 3:45 PM, Giles Velarde wrote:

> Hi,
> 
> I am trying to search an index using the Java API, but only retrieve certain fields from it. I think I have encountered a situation where if one tries to specify any fields, using SearchRequestBuilder.addFields(), the source always comes back empty. Here is a gist :
> 
> [https://gist.github.com/905570#file\_test\_es.java](https://gist.github.com/905570#file_test_es.java)
> 
> which should run with only elasticsearch in its classpath. Its output is here :
> 
> [Retrieving selected \_source fields from a search using Java API · GitHub](https://gist.github.com/905570#file_output_java.txt)
> 
> For comparison, running the same search on the command line :
> 
> [Retrieving selected \_source fields from a search using Java API · GitHub](https://gist.github.com/905570#file_search_on_command_line.sh)
> 
> returns the correct results :
> 
> [Retrieving selected \_source fields from a search using Java API · GitHub](https://gist.github.com/905570#file_output_ommand_line.json)
> 
> Best, Giles.

---

<div class="post-metadata">

**Author:** ![Giles\_Velarde](https://avatars.discourse-cdn.com/v4/letter/g/8491ac/32.png) [@Giles\_Velarde](https://discuss.elastic.co/u/Giles_Velarde)\
**Post date:** [April 6, 2011, 2:09pm UTC](https://discuss.elastic.co/t/specifying-fields-in-a-search-using-the-java-api-results-in-no-source-being-returned/4195/3 "2011-04-06T14:09:39Z")

</div>

That's taken me a long while to fathom. Thanks for clarifying this, Shay!

Best, Giles.

On 6 April 2011 14:36, Shay Banon [shay.banon@elasticsearch.com](mailto:shay.banon@elasticsearch.com) wrote:

> Thats the behavior (both in Java API and REST API), once you specify a  
> field, then \_source is not returned, and you have access to only those  
> fields.
> 
> On Wednesday, April 6, 2011 at 3:45 PM, Giles Velarde wrote:
> 
> Hi,
> 
> I am trying to search an index using the Java API, but only retrieve  
> certain fields from it. I think I have encountered a situation where if one  
> tries to specify any fields, using SearchRequestBuilder.addFields(), the  
> source always comes back empty. Here is a gist :
> 
> [https://gist.github.com/905570#file\_test\_es.java](https://gist.github.com/905570#file_test_es.java)
> 
> which should run with only elasticsearch in its classpath. Its output is  
> here :
> 
> [Retrieving selected \_source fields from a search using Java API · GitHub](https://gist.github.com/905570#file_output_java.txt)
> 
> For comparison, running the same search on the command line :
> 
> [Retrieving selected \_source fields from a search using Java API · GitHub](https://gist.github.com/905570#file_search_on_command_line.sh)
> 
> returns the correct results :
> 
> [Retrieving selected \_source fields from a search using Java API · GitHub](https://gist.github.com/905570#file_output_ommand_line.json)
> 
> Best, Giles.

---

<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 6, 2017, 4:08am UTC](https://discuss.elastic.co/t/specifying-fields-in-a-search-using-the-java-api-results-in-no-source-being-returned/4195/4 "2017-07-06T04:08:48Z")

</div>


