elastic / elastic/roadmap

Blend relevance signals with Hybrid Search in ES|QL with FORK and FUSE

Open
#97 0 comments 0 reactions 1 assignee Assigned to @dustincoates View on GitHub
Component: Elasticsearch product-area:search v9.4.0
Dominant language
No language data
Stars
6
Forks
1
PR merge metrics
No merged PRs in 30d

Description

**What the feature is**
Simple Hybrid Search in ES|QL using the FORK and FUSE commands, enabling Reranking with Reciprocal Rank Fusion (RRF) and Linear Combination.

**Value proposition**
Users currently struggle to combine the results from different types of searches—like keyword-based full-text search and vector-based semantic search—into a single, unified, and highly relevant result set. This often requires running separate queries and merging the results externally, which adds complexity and latency. The FORK and FUSE commands in ES|QL solve this by allowing users to run multiple search commands (e.g., MATCH and KNN) concurrently and then combine their ranked outcomes using state-of-the-art fusion algorithms like RRF or Linear Combination. This provides a simple, direct, and more accurate way to perform hybrid search, significantly improving result quality for users who need to blend different relevance signals.

**Expected behaviors**
The FORK command will allow users to execute two or more distinct search-related ES|QL commands (e.g., MATCH and KNN) independently within a single query.
The FUSE command will be used to combine the ranked results from the FORK branches.
The FUSE command will support Reciprocal Rank Fusion (RRF) as a method for combining the rankings from the different searches.
The FUSE command will support Linear Combination as a method for combining the final scores from the different searches.
Users will be able to perform advanced hybrid search without needing to write complex, multi-stage application logic.

**Key user stories / use cases**
As a search engineer, I need to use the FORK and FUSE commands with RRF to combine the results of a traditional keyword search and a modern vector search, ensuring the final result set benefits from both relevance methods.
As an application developer, I want to use the FORK and FUSE commands with Linear Combination to perform a simple hybrid search where I can explicitly set weights for full-text and semantic scores to quickly tune result relevance.
As a data analyst, I need to run a complex ES|QL query that uses WHERE clauses on metadata and then uses FORK and FUSE to get the best possible hybrid-ranked output.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.