mirror of
https://github.com/elastic/elasticsearch.git
synced 2025-04-25 07:37:19 -04:00
Many consumers of the field caps API need to do some post-processing of the results before they can use them; for instance, Kibana would like to exclude multifields from certain field selections, or would like to display only geo_point fields in Maps. ML and QL consumers exclude nested fields in certain circumstances. This post-processing is possible at the moment, but can be hacky; and in all cases it involves sending the whole (possibly very large) field caps response over the wire and then whittling it down in the client. It is also not guaranteed to be accurate - runtime fields may be incorrectly classified as multifields, for example. This commit pushes filtering into elasticsearch itself, reducing the amount of data that needs to be transported and ensuring better accuracy. The field caps API gets two new parameters: * filters - a comma-delimited list that may contain any combination of: `+metadata`, `-metadata`, `-nested`, `-parent`, `-multifield` * types - a comma-delimited list of field types; only fields that have a type in this set will be returned The API will make best-effort attempts to apply the filters post-hoc to responses from older nodes, so this should still work in a mixed-cluster or cross-cluster situation. Fixes #82966, #72174 |
||
---|---|---|
.. | ||
search-your-data | ||
suggesters | ||
async-search.asciidoc | ||
clear-scroll-api.asciidoc | ||
count.asciidoc | ||
explain.asciidoc | ||
field-caps.asciidoc | ||
knn-search.asciidoc | ||
multi-search-template-api.asciidoc | ||
multi-search.asciidoc | ||
point-in-time-api.asciidoc | ||
profile.asciidoc | ||
rank-eval.asciidoc | ||
render-search-template-api.asciidoc | ||
scroll-api.asciidoc | ||
search-shards.asciidoc | ||
search-template-api.asciidoc | ||
search-vector-tile-api.asciidoc | ||
search.asciidoc | ||
suggesters.asciidoc | ||
terms-enum.asciidoc | ||
validate.asciidoc |