Add a reference on returning fields during a search. (#57500)
This PR adds a section to the new 'run a search' reference that explains the options for returning fields. Previously each option was only listed as a separate request parameter and it was hard to know what was available.
This commit is contained in:
parent
67abde326e
commit
4f4c4a8713
|
@ -289,3 +289,5 @@ GET /*/_search
|
|||
====
|
||||
|
||||
include::request/from-size.asciidoc[]
|
||||
|
||||
include::search-fields.asciidoc[]
|
||||
|
|
|
@ -0,0 +1,31 @@
|
|||
[discrete]
|
||||
[[search-fields]]
|
||||
=== Return fields in a search
|
||||
|
||||
By default, each hit in the search response includes the document
|
||||
<<mapping-source-field,`_source`>>, which is the entire JSON object that was
|
||||
provided when indexing the document. If you only need certain fields in the
|
||||
search response, you can use
|
||||
<<request-body-search-source-filtering,source filtering>> to restrict what
|
||||
parts of the source are returned.
|
||||
|
||||
Returning fields using only the document source has some limitations:
|
||||
|
||||
* The `_source` field does not include <<multi-fields, multi-fields>> or
|
||||
<<alias, field aliases>>. Likewise, a field in the source does not contain
|
||||
values copied using the <<copy-to,`copy_to`>> mapping parameter.
|
||||
* Since the `_source` is stored as a single field in Lucene, the whole source
|
||||
object must be loaded and parsed, even if only a small number of fields are
|
||||
needed.
|
||||
|
||||
{es} supports some alternative methods for returning fields that help avoid
|
||||
these downsides:
|
||||
|
||||
* The <<request-body-search-docvalue-fields, `docvalue_fields`>>
|
||||
parameter allows for loading fields from their doc values. This can be a good
|
||||
choice when returning a fairly small number of fields that support doc values,
|
||||
such as keywords and dates.
|
||||
* It's also possible to store an individual field's values by using the
|
||||
<<mapping-store,`store`>> mapping option. You can use the
|
||||
<<request-body-search-stored-fields, `stored_fields`>> parameter to return
|
||||
these stored values in the search response.
|
Loading…
Reference in New Issue