-
Notifications
You must be signed in to change notification settings - Fork 25.4k
Support partial sort fields in TopN pushdown #116043
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
Conversation
Hi @craigtaverner, I've created a changelog YAML for you. |
Pinging @elastic/es-analytical-engine (Team:Analytics) |
Hi @craigtaverner, I've updated the changelog YAML for you. |
💔 Backport failedThe backport operation could not be completed due to the following error:
You can use sqren/backport to manually backport by running |
* Support partial sort fields in TopN pushdown * Update docs/changelog/116043.yaml * Update docs/changelog/116043.yaml * Refine physical planner tests
* Support partial sort fields in TopN pushdown * Update docs/changelog/116043.yaml * Update docs/changelog/116043.yaml * Refine physical planner tests
@craigtaverner , it looks like the backport broke and this never made it into 8.x Should we backport this to 8.x (label says 8.17, but that doesn't look necessarily right due to the parity between 8.18 and 9.0)? |
* Support partial sort fields in TopN pushdown * Update docs/changelog/116043.yaml * Update docs/changelog/116043.yaml * Refine physical planner tests
Did the backport manually in #129199 |
…c#129199) * Support partial sort fields in TopN pushdown * Update docs/changelog/116043.yaml * Update docs/changelog/116043.yaml * Refine physical planner tests
The work in #112938 allowed for pushing down SORTS to Lucene even when the sort expression came from an EVAL, as long as is was possible to push it down. It laid the groundwork for partial pushdown, where if the first
n
expressions could be pushed down, but not all could, we should be able to push down thosen
expressions. Since the coordinator-node TopNExec would still exist to merge partially sorted results from data nodes, this is sufficient to also perform the final sort on partially sorted data from Lucene. This feature therefor only required removing the limitation.The four queries benchmarked here are:
Fixes #114515