# Return specified fields using spring data elastic search

**URL:** https://discuss.elastic.co/t/return-specified-fields-using-spring-data-elastic-search/239465
**Category:** Elasticsearch
**Created:** [July 1, 2020, 11:01am UTC](https://discuss.elastic.co/t/return-specified-fields-using-spring-data-elastic-search/239465 "2020-07-01T11:01:45Z")
**Posts on this page:** 4
**Page:** 1

<div class="post-metadata">

### Author: ![mohsin](https://avatars.discourse-cdn.com/v4/letter/m/41988e/32.png) [@mohsin](https://discuss.elastic.co/u/mohsin)
#### Post date: [July 1, 2020, 11:01am UTC](https://discuss.elastic.co/t/return-specified-fields-using-spring-data-elastic-search/239465/1 "2020-07-01T11:01:46Z")

</div>

I have a document User having fields like User(id, name, address, List ) etc. depending upon request we want to return either these three: id, name, address or all the fields, by default ElasticsearchRepository find\*\* methods return all the fields, we kinda want to do something similar to projection , is there any way to achieve this in spring data? we do not want to use ElasticsearchRestTemplate and write our own custom queries.

---

<div class="post-metadata">

### Author: ![spinscale](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/spinscale/32/25011_2.png) [@spinscale](https://discuss.elastic.co/u/spinscale)
#### Post date: [July 1, 2020, 1:48pm UTC](https://discuss.elastic.co/t/return-specified-fields-using-spring-data-elastic-search/239465/2 "2020-07-01T13:48:56Z")

</div>

You could do this using a `NativeQueryBuilder` and the `ElasticsearchOperations` class. Alternatively you could have a second repository class, that returns a user with less attributes.

---

<div class="post-metadata">

### Author: ![mohsin](https://avatars.discourse-cdn.com/v4/letter/m/41988e/32.png) [@mohsin](https://discuss.elastic.co/u/mohsin)
#### Post date: [July 1, 2020, 2:11pm UTC](https://discuss.elastic.co/t/return-specified-fields-using-spring-data-elastic-search/239465/3 "2020-07-01T14:11:27Z")

</div>

> [@spinscale](#):
>
> `NativeQueryBuilder`

Thanks. But for first option we still need to right our own queries right? We want to use ready-made methods provided by spring data, is there any other way to do this? and in option 2, are you proposing to make new document class with less fields?

---

<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 29, 2020, 2:11pm UTC](https://discuss.elastic.co/t/return-specified-fields-using-spring-data-elastic-search/239465/4 "2020-07-29T14:11:28Z")

</div>

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