# How do I get parts of a document distinctly

**URL:** <https://discuss.elastic.co/t/how-do-i-get-parts-of-a-document-distinctly/174390>\
**Category:** Elasticsearch\
**Created:** [March 28, 2019, 4:31pm UTC](https://discuss.elastic.co/t/how-do-i-get-parts-of-a-document-distinctly/174390 "2019-03-28T16:31:23Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![asahun](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/asahun/32/43025_2.png) [@asahun](https://discuss.elastic.co/u/asahun)\
**Post date:** [March 28, 2019, 4:31pm UTC](https://discuss.elastic.co/t/how-do-i-get-parts-of-a-document-distinctly/174390/1 "2019-03-28T16:31:23Z")

</div>

I tried to simulate my date with the following table. But what I want out of it is three records containing City & State.  
e.g. Lets original data will look like,  
|ID|Product|Price|City|State|  
|100|ABC|$201|Seattle|WA|  
|101|XUY|$423|Seattle|WA|  
|102|DEF|$252|Atlanta|GA|  
|103|GEY|$325|Chicago|IL|  
|104|BDV|$263|Atlanta|GA|

and what I expect finally is:  
|City|State|  
|Seattle|WA|  
|Atlanta|GA|  
|Chicago|IL|

Could you please help me get a query or suggest something?  
I used a table instead of JSON for display pupose  
Thank you.

---

<div class="post-metadata">

**Author:** ![DavidTurner](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/davidturner/32/22453_2.png) [@DavidTurner](https://discuss.elastic.co/u/DavidTurner)\
**Post date:** [March 28, 2019, 4:49pm UTC](https://discuss.elastic.co/t/how-do-i-get-parts-of-a-document-distinctly/174390/2 "2019-03-28T16:49:37Z")

</div>

[Source filtering](https://www.elastic.co/guide/en/elasticsearch/reference/current/search-request-source-filtering.html) allows you to define which fields of each document should be returned.

---

<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 28, 2019, 4:59pm UTC](https://discuss.elastic.co/t/how-do-i-get-parts-of-a-document-distinctly/174390/3 "2019-03-28T16:59:24Z")

</div>

Yeah but here I think he wants to group by some terms.  
So I'd recommend looking at terms aggregation.

---

<div class="post-metadata">

**Author:** ![asahun](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/asahun/32/43025_2.png) [@asahun](https://discuss.elastic.co/u/asahun)\
**Post date:** [March 28, 2019, 5:15pm UTC](https://discuss.elastic.co/t/how-do-i-get-parts-of-a-document-distinctly/174390/4 "2019-03-28T17:15:35Z")

</div>

Thank you guys,

"\_source": is only limiting the result to the fields i want to return.  
and applying aggs like this:  
"aggs" : {  
"by\_city": {  
"terms": {  
"field": "city.keyword"  
}  
}  
}

doesn't update the hits but it returns separate buckets for each aggregate. Am I doing something wrong? The ultimate goal is I want the distinct records that I could eventually paginate over.

---

<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 25, 2019, 5:15pm UTC](https://discuss.elastic.co/t/how-do-i-get-parts-of-a-document-distinctly/174390/5 "2019-04-25T17:15:40Z")

</div>

Closed on April 25, 2019, 5:15pm UTC

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