OpenSearch/test
Luca Cavanna 862fab06d3
Share same existsQuery impl throughout mappers (#57607)
Most of our field types have the same implementation for their `existsQuery` method which relies on doc_values if present, otherwise it queries norms if available or uses a term query against the _field_names meta field. This standard implementation is repeated in many different mappers.

There are field types that only query doc_values, because they always have them, and field types that always query _field_names, because they never have norms nor doc_values. We could apply the same standard logic to all of these field types as `MappedFieldType` has the knowledge about what data structures are available.

This commit introduces a standard implementation that does the right thing depending on the data structure that is available. With that only field types that require a different behaviour need to override the existsQuery method.

At the same time, this no longer forces subclasses to override `existsQuery`, which could be forgotten when needed. To address this we introduced a new test method in `MapperTestCase` that verifies the `existsQuery` being generated and its consistency with the available data structures.
2020-09-23 11:00:53 +02:00
..
external-modules Skip release build tests for external test modules (#62579) 2020-09-17 13:08:17 -07:00
fixtures Add repositories metering API (#62088) 2020-09-08 14:01:04 +02:00
framework Share same existsQuery impl throughout mappers (#57607) 2020-09-23 11:00:53 +02:00
logger-usage Add snapshot only test modules (#61954) 2020-09-04 16:35:18 -07:00
build.gradle Add snapshot only test modules (#61954) 2020-09-04 16:35:18 -07:00