# Elasticsearch Query to Return Results in a Common Number of Fields

**URL:** <https://discuss.elastic.co/t/elasticsearch-query-to-return-results-in-a-common-number-of-fields/42969>\
**Category:** Elasticsearch\
**Created:** [February 29, 2016, 6:58am UTC](https://discuss.elastic.co/t/elasticsearch-query-to-return-results-in-a-common-number-of-fields/42969 "2016-02-29T06:58:46Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![gringo](https://avatars.discourse-cdn.com/v4/letter/g/f19dbf/32.png) [@gringo](https://discuss.elastic.co/u/gringo)\
**Post date:** [February 29, 2016, 6:58am UTC](https://discuss.elastic.co/t/elasticsearch-query-to-return-results-in-a-common-number-of-fields/42969/1 "2016-02-29T06:58:46Z")

</div>

Is there a way to return result with a common set of fields

E.g. I have two records or documents.

1st Record  
ID: 001  
Price: 12

2nd Record  
ID:002  
Price: 20  
Remarks: Do not store outdoors

I am looking at for match-all like query to give me the following result  
ID: 001  
Price: 12  
**Remarks: NIL**  
ID:002  
Price: 20  
Remarks: Do not store outdoors

There should be some values in the "Remarks" field for the first record. It could be blank or a default value

Anyone knows if this could be done?

---

<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:** [February 29, 2016, 8:30am UTC](https://discuss.elastic.co/t/elasticsearch-query-to-return-results-in-a-common-number-of-fields/42969/2 "2016-02-29T08:30:29Z")

</div>

At index time, you can use [https://www.elastic.co/guide/en/elasticsearch/reference/current/null-value.html](https://www.elastic.co/guide/en/elasticsearch/reference/current/null-value.html)  
And also store the field.

Then ask for this field at query time

Or at search time only (slower): [https://www.elastic.co/guide/en/elasticsearch/reference/2.2/search-request-script-fields.html](https://www.elastic.co/guide/en/elasticsearch/reference/2.2/search-request-script-fields.html)

It will never change your \_source doc.  
May be node ingest could help in coming elasticsearch 5.0.

---

<div class="post-metadata">

**Author:** ![gringo](https://avatars.discourse-cdn.com/v4/letter/g/f19dbf/32.png) [@gringo](https://discuss.elastic.co/u/gringo)\
**Post date:** [February 29, 2016, 1:02pm UTC](https://discuss.elastic.co/t/elasticsearch-query-to-return-results-in-a-common-number-of-fields/42969/3 "2016-02-29T13:02:19Z")

</div>

If I were to do it at indexing, will it require more storage since no value fields are filled with values?

---

<div class="post-metadata">

**Author:** ![Ivan](https://avatars.discourse-cdn.com/v4/letter/i/df788c/32.png) [@Ivan](https://discuss.elastic.co/u/Ivan)\
**Post date:** [February 29, 2016, 3:24pm UTC](https://discuss.elastic.co/t/elasticsearch-query-to-return-results-in-a-common-number-of-fields/42969/4 "2016-02-29T15:24:11Z")

</div>

I would use a not + exist filter and let your client handle determining if  
the field is null.

[https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-exists-query.html](https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-exists-query.html)

Ivan

---

<div class="post-metadata">

**Author:** ![gringo](https://avatars.discourse-cdn.com/v4/letter/g/f19dbf/32.png) [@gringo](https://discuss.elastic.co/u/gringo)\
**Post date:** [February 29, 2016, 11:56pm UTC](https://discuss.elastic.co/t/elasticsearch-query-to-return-results-in-a-common-number-of-fields/42969/5 "2016-02-29T23:56:38Z")

</div>

How about storage? Will setting empty values to _null_ take up more space?

---

<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:12pm UTC](https://discuss.elastic.co/t/elasticsearch-query-to-return-results-in-a-common-number-of-fields/42969/6 "2017-07-05T23:12:43Z")

</div>


