Add a multivalued property to field mappings (#16420) #16601
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
A mapping for a field can now contain a property
multivalued
.multivalued
must have a boolean value. It can only be applied to field types that support multiple values.If the
multivalued
property has never been set for a field, then it is assumed to be false and will not be returned in the index mapping.If
multivalued
is set to false, then there is not change in behaviour except for includingmultivalued
in the index mapping.If
multivalued
is set to true, then it is returned in the index mapping. In addition, any new documents inserted must have an array value for the field withmultivalued
set to true.The
multivalued
property is intended to be useful to services that consume index mappings. It indicates that the field will should only contain array values. As an example, the SQL plugin can this to decide on how to process an aggregate operation such asMIN
orMAX
.An example mapping that uses
multivalued
:Related Issues
Resolves #16420
Relates to: SQL #3137
Relates to: SQL #3138
Check List
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.