Blend relevance signals with Hybrid Search in ES|QL with FORK and FUSE
- 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.