Skip to content

ES|QL: Add FUSE command #131078

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

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

ES|QL: Add FUSE command #131078

wants to merge 2 commits into from

Conversation

ioanatia
Copy link
Contributor

@ioanatia ioanatia commented Jul 11, 2025

related: #123389

Adds the FUSE command.

Example:

FROM books METADATA _id, _index, _score
| FORK ( WHERE title:"Shakespeare" | SORT _score, _id DESC  )
       ( WHERE semantic_title:"Shakespear" | SORT _score, _id DESC)
| FUSE rrf OPTIONS {"weights": { "fork1": 0.3, "fork2": 0.7 } }
| SORT _score DESC, _id, _index

TODOs for this PR:

  • analyzer/parser statement tests with full options
  • validation of fuse options + tests for validation
  • CSV tests: use FUSE with ROW, LOOKUP JOIN etc
  • update operators describe (for profile)
  • since we change MapExpression - make sure that functions using MapExpression are not going to throw funny errors if nested maps are passed as params.
  • operator tests

followups that we will do separately:

  • fuse should handle unsupported fields - we should at least test for it
  • check that fuse can work with input containing all supported data types - since we use STATS, this means VALUES needs to support all data types.
  • optimization step to remove FuseScoreEval when linear is used without score normalization and weights.
  • fuse needs to be executed at the coordinator level since it needs the full input
  • check that fuse can be used in FORK branches
  • make sure the generative tests have a generator for FUSE
  • issue warnings when the score or discriminator colums have null values in the operator

@ioanatia ioanatia added >non-issue :Analytics/ES|QL AKA ESQL :Search Relevance/Search Catch all for Search Relevance Team:Search - Relevance The Search organization Search Relevance team labels Jul 11, 2025
@ioanatia ioanatia mentioned this pull request Jul 2, 2025
9 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
:Analytics/ES|QL AKA ESQL >non-issue :Search Relevance/Search Catch all for Search Relevance Team:Search - Relevance The Search organization Search Relevance team v9.2.0
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants