WARNING: Version 0.90 of Elasticsearch has passed its EOL date.
This documentation is no longer being maintained and may be removed. If you are running this version, we strongly advise you to upgrade. For the latest information, see the current release documentation.
Fields
editFields
editAllows to selectively load specific fields for each document represented
by a search hit. Defaults to load the internal _source
field.
{ "fields" : ["user", "postDate"], "query" : { "term" : { "user" : "kimchy" } } }
The fields will automatically load stored fields (store
mapping set to
yes
), or, if not stored, will load the _source
and extract it from
it (allowing to return nested document object).
*
can be used to load all stored fields from the document.
An empty array will cause only the _id
and _type
for each hit to be
returned, for example:
{ "fields" : [], "query" : { "term" : { "user" : "kimchy" } } }
Script fields can also be automatically detected and used as fields, so
things like _source.obj1.obj2
can be used, though not recommended, as
obj1.obj2
will work as well.
Partial
editWhen loading data from _source
, partial fields can be used to use
wildcards to control what part of the _source
will be loaded based on
include
and exclude
patterns. For example:
{ "query" : { "match_all" : {} }, "partial_fields" : { "partial1" : { "include" : "obj1.obj2.*", } } }
And one that will also exclude obj1.obj3
:
{ "query" : { "match_all" : {} }, "partial_fields" : { "partial1" : { "include" : "obj1.obj2.*", "exclude" : "obj1.obj3.*" } } }
Both include
and exclude
support multiple patterns:
{ "query" : { "match_all" : {} }, "partial_fields" : { "partial1" : { "include" : ["obj1.obj2.*", "obj1.obj4.*"], "exclude" : "obj1.obj3.*" } } }