Implement fields fetch for runtime fields (backport of #61995) #62416
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.
This implements the
fields
API in_search
for runtime fields usingdoc values. Most of that implementation is stolen from the
docvalue_fields
fetch sub-phase, just moved into the same API that thefields
API uses. At this point thedocvalue_fields
fetch phase lookslike a special case of the
fields
API.While I was at it I moved the "which doc values sub-implementation
should I use for fetching?" question from a bunch of
instanceof
s to amethod on
LeafFieldData
so we can be much more flexible with what isreturned and we're not forced to extend certain classes just to make the
fetch phase happy.
Relates to #59332