Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add a multivalued property to field mappings (#16420) #16601

Open
wants to merge 2 commits into
base: main
Choose a base branch
from

Conversation

normanj-bitquill
Copy link

@normanj-bitquill normanj-bitquill commented Nov 8, 2024

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 including multivalued 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 with multivalued 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 as MIN or MAX.

An example mapping that uses multivalued:

{
  "test_integer": {
    "mappings": {
      "properties": {
        "x": {
          "type": "long"
        },
        "y": {
          "type": "integer",
          "multivalued": true
        }
      }
    }
  }
}

Related Issues

Resolves #16420
Relates to: SQL #3137
Relates to: SQL #3138

Check List

  • Functionality includes testing.
  • API changes companion pull request created, if applicable.
  • Public documentation issue/PR created, if applicable.

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.

* Can only be used for field types that support multiple values
* If a field has the multivalued property, then new documents must have an array for its value

Signed-off-by: Norman Jordan <[email protected]>
Copy link
Contributor

github-actions bot commented Nov 8, 2024

❌ Gradle check result for 70d0100: FAILURE

Please examine the workflow log, locate, and copy-paste the failure(s) below, then iterate to green. Is the failure a flaky test unrelated to your change?

Signed-off-by: Norman Jordan <[email protected]>
Copy link
Contributor

❌ Gradle check result for fbc6855: FAILURE

Please examine the workflow log, locate, and copy-paste the failure(s) below, then iterate to green. Is the failure a flaky test unrelated to your change?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement Enhancement or improvement to existing feature or request Indexing Indexing, Bulk Indexing and anything related to indexing Search:Query Capabilities
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[Feature Request] Add mapping information for single-/multi-valued fields
1 participant