Source filtering
editSource filtering
editAllows to control how the _source
field is returned with every hit.
By default operations return the contents of the _source
field unless
you have used the stored_fields
parameter or if the _source
field is disabled.
You can turn off _source
retrieval by using the _source
parameter:
To disable _source
retrieval set to false
:
GET /_search { "_source": false, "query" : { "term" : { "user" : "kimchy" } } }
The _source
also accepts one or more wildcard patterns to control what parts of the _source
should be returned:
For example:
GET /_search { "_source": "obj.*", "query" : { "term" : { "user" : "kimchy" } } }
Or
GET /_search { "_source": [ "obj1.*", "obj2.*" ], "query" : { "term" : { "user" : "kimchy" } } }
Finally, for complete control, you can specify both includes
and excludes
patterns. If includes
is not empty, then only fields that match one of the
patterns in includes
but none of the patterns in excludes
are provided in
_source
. If includes
is empty, then all fields are provided in _source
,
except for those that match a pattern in excludes
.
GET /_search { "_source": { "includes": [ "obj1.*", "obj2.*" ], "excludes": [ "*.description" ] }, "query" : { "term" : { "user" : "kimchy" } } }