The default is _source (indexed document). This means that when you search, you can get the real source of the document back. Moreover, asticsearch will automatically extract fields/objects from _source and return them if you explicitly ask for it (and also possibly use it in other components, such as highlighting).
You can indicate that a specific field is also saved. This means that the data for this field will be stored independently . This means that if you request field1 (which is stored), asticsearch will determine that it is stored and load it from the index, not from _source (assuming _source is enabled).
When do you want to enable storage of certain fields? In most cases, no. Source extraction is fast, and extraction is also fast. If you have very large documents where the cost of storing _source or the cost of parsing _source is high, you can explicitly display some storage fields instead.
Note that there is a cost to retrieve each saved field. So, for example, if you have json with 10 fields with a reasonable size, and you display all of them as saved, and request all of them, this means loading each of them (more drives are looking for), compared to just loading _source ( this is one field, possibly compressed).
I got this answer from the link below to which shay.banon responded. You can read this entire thread to get a good idea about it . enter link description here
Sudhanshu Gaur Aug 05 '16 at 10:57 2016-08-05 10:57
source share