# Elasticsearch Java Rest Api output

**URL:** <https://discuss.elastic.co/t/elasticsearch-java-rest-api-output/172917>\
**Category:** Elasticsearch\
**Created:** [March 19, 2019, 8:48am UTC](https://discuss.elastic.co/t/elasticsearch-java-rest-api-output/172917 "2019-03-19T08:48:27Z")\
**Posts on this page:** 19\
**Page:** 1

<div class="post-metadata">

**Author:** ![Dv\_Thiyanesh](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/dv_thiyanesh/32/53965_2.png) [@Dv\_Thiyanesh](https://discuss.elastic.co/u/Dv_Thiyanesh)\
**Post date:** [March 19, 2019, 8:48am UTC](https://discuss.elastic.co/t/elasticsearch-java-rest-api-output/172917/1 "2019-03-19T08:48:27Z")

</div>

I am using Java High level client to fetch data from elasticsearch

```auto
@GetMapping("/search") 
	 public @ResponseBody Object search() throws IOException
	 {
			Map<Object,Object> finalresponse = new HashMap<Object,Object>();
		 SearchRequest searchRequest = new SearchRequest();
		 searchRequest.indices("check1");
		 SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder(); 
		 searchSourceBuilder.query(QueryBuilders.matchAllQuery()); 
		 searchRequest.source(searchSourceBuilder); 
		 SearchResponse searchResponse = client.search(searchRequest, RequestOptions.DEFAULT);
		
		 SearchResponse result = new SearchResponse(); 
 		result = searchResponse;
List<Object> llist = new ArrayList<Object>();
llist.add(result);
finalresponse.put("data",llist);
return finalresponse;

	    }

```

It shows All details of the data but i need only sourceAsMap in My json output what i need to do?? Any idea

---

<div class="post-metadata">

**Author:** ![Dv\_Thiyanesh](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/dv_thiyanesh/32/53965_2.png) [@Dv\_Thiyanesh](https://discuss.elastic.co/u/Dv_Thiyanesh)\
**Post date:** [March 19, 2019, 8:52am UTC](https://discuss.elastic.co/t/elasticsearch-java-rest-api-output/172917/2 "2019-03-19T08:52:51Z")

</div>

It gives json as like this

 ![Screenshot_2019-03-19%20Screenshot](https://us1.discourse-cdn.com/elastic/original/3X/5/e/5e4b345003715674ed82ac154e911f54b2f26123.png)

---

<div class="post-metadata">

**Author:** ![dadoonet](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/dadoonet/32/137187_2.png) [@dadoonet](https://discuss.elastic.co/u/dadoonet)\
**Post date:** [March 19, 2019, 10:10am UTC](https://discuss.elastic.co/t/elasticsearch-java-rest-api-output/172917/3 "2019-03-19T10:10:08Z")

</div>

You can probably iterate the hits and add to your `llist` the content of `hit.get sourceAsMap()`?

---

<div class="post-metadata">

**Author:** ![Dv\_Thiyanesh](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/dv_thiyanesh/32/53965_2.png) [@Dv\_Thiyanesh](https://discuss.elastic.co/u/Dv_Thiyanesh)\
**Post date:** [March 19, 2019, 10:39am UTC](https://discuss.elastic.co/t/elasticsearch-java-rest-api-output/172917/4 "2019-03-19T10:39:54Z")

</div>

I can't clear idea in it? can u give me a snippet of code based on my code? to sourceAsMap()

---

<div class="post-metadata">

**Author:** ![dadoonet](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/dadoonet/32/137187_2.png) [@dadoonet](https://discuss.elastic.co/u/dadoonet)\
**Post date:** [March 19, 2019, 10:52am UTC](https://discuss.elastic.co/t/elasticsearch-java-rest-api-output/172917/5 "2019-03-19T10:52:17Z")

</div>

```auto
List<Object> llist = new ArrayList<Object>();
SearchResponse response = client.search(new SearchRequest("test"), RequestOptions.DEFAULT);
for (SearchHit hit : response.getHits()) {
    llist.add(hit.getSourceAsMap());
}

```

---

<div class="post-metadata">

**Author:** ![Dv\_Thiyanesh](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/dv_thiyanesh/32/53965_2.png) [@Dv\_Thiyanesh](https://discuss.elastic.co/u/Dv_Thiyanesh)\
**Post date:** [March 19, 2019, 1:14pm UTC](https://discuss.elastic.co/t/elasticsearch-java-rest-api-output/172917/6 "2019-03-19T13:14:54Z")

</div>

Thank you

---

<div class="post-metadata">

**Author:** ![Dv\_Thiyanesh](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/dv_thiyanesh/32/53965_2.png) [@Dv\_Thiyanesh](https://discuss.elastic.co/u/Dv_Thiyanesh)\
**Post date:** [March 19, 2019, 1:24pm UTC](https://discuss.elastic.co/t/elasticsearch-java-rest-api-output/172917/7 "2019-03-19T13:24:35Z")

</div>

> [@dadoonet](#):
>
> SearchResponse response = client.search(new SearchRequest("test"), RequestOptions.DEFAULT);

I need All match not only matching "test" for that?

---

<div class="post-metadata">

**Author:** ![dadoonet](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/dadoonet/32/137187_2.png) [@dadoonet](https://discuss.elastic.co/u/dadoonet)\
**Post date:** [March 19, 2019, 1:43pm UTC](https://discuss.elastic.co/t/elasticsearch-java-rest-api-output/172917/8 "2019-03-19T13:43:57Z")

</div>

`test` is the index name in my example. You can put `check1` instead if you wish.

---

<div class="post-metadata">

**Author:** ![Dv\_Thiyanesh](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/dv_thiyanesh/32/53965_2.png) [@Dv\_Thiyanesh](https://discuss.elastic.co/u/Dv_Thiyanesh)\
**Post date:** [March 20, 2019, 6:29am UTC](https://discuss.elastic.co/t/elasticsearch-java-rest-api-output/172917/9 "2019-03-20T06:29:11Z")

</div>

yah!! I got it,

''' public @ResponseBody SearchResponse datesearch() throws IOException  
{  
SearchRequest searchRequest = new SearchRequest();

```
	 searchRequest.indices("check1");
	 SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder(); 
	 searchSourceBuilder.query(QueryBuilders.rangeQuery("date").from("2019-10-01").to("2019-10-02")); 
	 searchRequest.source(searchSourceBuilder); 
	 
	 SearchResponse searchResponse = client.search(searchRequest, RequestOptions.DEFAULT);

	return searchResponse;
   }'''

```

For this snippet i need to take same source only what i need to do?

---

<div class="post-metadata">

**Author:** ![dadoonet](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/dadoonet/32/137187_2.png) [@dadoonet](https://discuss.elastic.co/u/dadoonet)\
**Post date:** [March 20, 2019, 6:51am UTC](https://discuss.elastic.co/t/elasticsearch-java-rest-api-output/172917/10 "2019-03-20T06:51:31Z")

</div>

What do you mean?

---

<div class="post-metadata">

**Author:** ![Dv\_Thiyanesh](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/dv_thiyanesh/32/53965_2.png) [@Dv\_Thiyanesh](https://discuss.elastic.co/u/Dv_Thiyanesh)\
**Post date:** [March 20, 2019, 6:55am UTC](https://discuss.elastic.co/t/elasticsearch-java-rest-api-output/172917/11 "2019-03-20T06:55:30Z")

</div>

> [@Dv\_Thiyanesh](#):
>
> searchSourceBuilder.query(QueryBuilders.matchAllQuery());

In this we used matchAllQuery for that I used your snippet to get SourceAsMap as list  
But for,

> [@Dv\_Thiyanesh](#):
>
> searchSourceBuilder.query(QueryBuilders.rangeQuery("date").from("2019-10-01").to("2019-10-02"));

but for range query where i need to modify with your code i can modify?

---

<div class="post-metadata">

**Author:** ![dadoonet](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/dadoonet/32/137187_2.png) [@dadoonet](https://discuss.elastic.co/u/dadoonet)\
**Post date:** [March 20, 2019, 7:36am UTC](https://discuss.elastic.co/t/elasticsearch-java-rest-api-output/172917/12 "2019-03-20T07:36:35Z")

</div>

I don't understand what's wrong with your code.

---

<div class="post-metadata">

**Author:** ![Dv\_Thiyanesh](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/dv_thiyanesh/32/53965_2.png) [@Dv\_Thiyanesh](https://discuss.elastic.co/u/Dv_Thiyanesh)\
**Post date:** [March 20, 2019, 7:57am UTC](https://discuss.elastic.co/t/elasticsearch-java-rest-api-output/172917/13 "2019-03-20T07:57:12Z")

</div>

> [@Dv\_Thiyanesh](#):
>
> ''' public @ResponseBody SearchResponse datesearch() throws IOException  
> {  
> SearchRequest searchRequest = new SearchRequest();
> 
> ```auto
> searchRequest.indices("check1");
> SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder(); 
> searchSourceBuilder.query(QueryBuilders.rangeQuery("date").from("2019-10-01").to("2019-10-02")); 
> searchRequest.source(searchSourceBuilder); 
> 	 
> SearchResponse searchResponse = client.search(searchRequest, RequestOptions.DEFAULT);
> 
> return searchResponse;
> }'''
> 
> ```

it gives all details  
but I need to get only SourceAsMap what to do?

---

<div class="post-metadata">

**Author:** ![dadoonet](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/dadoonet/32/137187_2.png) [@dadoonet](https://discuss.elastic.co/u/dadoonet)\
**Post date:** [March 20, 2019, 8:10am UTC](https://discuss.elastic.co/t/elasticsearch-java-rest-api-output/172917/14 "2019-03-20T08:10:51Z")

</div>

I'm sorry but I don't understand. I think I gave you how to access the `sourceAsMap()`.

> [@dadoonet](#):
>
> ```auto
> List<Object> llist = new ArrayList<Object>();
> SearchResponse response = client.search(new SearchRequest("test"), RequestOptions.DEFAULT);
> for (SearchHit hit : response.getHits()) {
> llist.add(hit.getSourceAsMap());
> }
> 
> ```

---

<div class="post-metadata">

**Author:** ![Dv\_Thiyanesh](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/dv_thiyanesh/32/53965_2.png) [@Dv\_Thiyanesh](https://discuss.elastic.co/u/Dv_Thiyanesh)\
**Post date:** [March 20, 2019, 8:40am UTC](https://discuss.elastic.co/t/elasticsearch-java-rest-api-output/172917/15 "2019-03-20T08:40:43Z")

</div>

It's okay, no problem

---

<div class="post-metadata">

**Author:** ![Dv\_Thiyanesh](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/dv_thiyanesh/32/53965_2.png) [@Dv\_Thiyanesh](https://discuss.elastic.co/u/Dv_Thiyanesh)\
**Post date:** [March 20, 2019, 4:12pm UTC](https://discuss.elastic.co/t/elasticsearch-java-rest-api-output/172917/16 "2019-03-20T16:12:50Z")

</div>

In this we can take specific fields under SourceAsMap like computer\_name and type like this two instead of showing all?  
Any idea

---

<div class="post-metadata">

**Author:** ![dadoonet](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/dadoonet/32/137187_2.png) [@dadoonet](https://discuss.elastic.co/u/dadoonet)\
**Post date:** [March 20, 2019, 4:33pm UTC](https://discuss.elastic.co/t/elasticsearch-java-rest-api-output/172917/17 "2019-03-20T16:33:59Z")

</div>

You asked the same question at [Elasticsearch API SourceAsMap](https://discuss.elastic.co/t/elasticsearch-api-sourceasmap/173191). Please don't post the same question in different places.

---

<div class="post-metadata">

**Author:** ![Dv\_Thiyanesh](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/dv_thiyanesh/32/53965_2.png) [@Dv\_Thiyanesh](https://discuss.elastic.co/u/Dv_Thiyanesh)\
**Post date:** [March 20, 2019, 4:54pm UTC](https://discuss.elastic.co/t/elasticsearch-java-rest-api-output/172917/18 "2019-03-20T16:54:54Z")

</div>

Okay it's easy for you to answer that why

---

<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:** [April 17, 2019, 4:54pm UTC](https://discuss.elastic.co/t/elasticsearch-java-rest-api-output/172917/19 "2019-04-17T16:54:55Z")

</div>

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.
