-
Notifications
You must be signed in to change notification settings - Fork 25.6k
Remove MapperService argument from IndexFieldData.Builder#build #63197
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
Remove MapperService argument from IndexFieldData.Builder#build #63197
Conversation
MapperService carries a lot of weight and is only used to determine if loading of field data for the id field is enabled, which can be done in a different way. There was another usage that recently went away with the removal of `TypeFieldMapper`.
|
Pinging @elastic/es-search (:Search/Mapping) |
|
I would love to backport this to 7.x but I haven't come up with a way to get the type in |
romseygeek
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In 6x and 7x, indexes can have only one type, which means that we can rework all queries against the type field to use a ConstantFieldType. This has already been done in master with the removal of the TypeFieldMapper, but we still need that class in 7x to deal with nested documents. This commit leaves TypeFieldMapper in place, but refactors TypeFieldType to extend ConstantFieldType and consolidates deprecation warnings within that class. It also incidentally removes the requirement to pass a MapperService to IndexFieldData.Builder#build, which should allow #63197 to be backported.
…tic#63197) MapperService carries a lot of weight and is only used to determine if loading of field data for the id field is enabled, which can be done in a different way. There was another usage that recently went away with the removal of `TypeFieldMapper`.
…) (#63311) MapperService carries a lot of weight and is only used to determine if loading of field data for the id field is enabled, which can be done in a different way.
MapperService carries a lot of weight and is only used to determine if loading of field data for the id field is enabled, which can be done in a different way. There was another usage that recently went away with the removal of
TypeFieldMapper.