# Implementing Relative Score Fusion for Hybrid Search in Elasticsearch

**URL:** <https://discuss.elastic.co/t/implementing-relative-score-fusion-for-hybrid-search-in-elasticsearch/364408>\
**Category:** Elasticsearch\
**Tags:** vector-search\
**Created:** [August 5, 2024, 4:22pm UTC](https://discuss.elastic.co/t/implementing-relative-score-fusion-for-hybrid-search-in-elasticsearch/364408 "2024-08-05T16:22:55Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![ayubSubhaniya](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/ayubsubhaniya/32/136526_2.png) [@ayubSubhaniya](https://discuss.elastic.co/u/ayubSubhaniya)\
**Post date:** [August 5, 2024, 4:22pm UTC](https://discuss.elastic.co/t/implementing-relative-score-fusion-for-hybrid-search-in-elasticsearch/364408/1 "2024-08-05T16:22:55Z")

</div>

Hello Elasticsearch Community,

I'm interested in implementing Relative Score Fusion (RSF) directly in Elasticsearch to combine BM25 and kNN search results with weighted rankings based on query length or type. I want to avoid relying heavily on application-side logic and perform this fusion within Elasticsearch itself.

What are the best practices for achieving this? Are there specific techniques or built-in features in Elasticsearch that can facilitate score normalization and weighted combination directly within queries?

Any guidance or examples would be greatly appreciated!

Thank you!

Reference: [https://weaviate.io/blog/hybrid-search-fusion-algorithms](https://weaviate.io/blog/hybrid-search-fusion-algorithms)

---

<div class="post-metadata">

**Author:** ![Alex\_Salgado-Elastic](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/alex_salgado-elastic/32/103081_2.png) [@Alex\_Salgado-Elastic](https://discuss.elastic.co/u/Alex_Salgado-Elastic)\
**Post date:** [August 6, 2024, 12:06pm UTC](https://discuss.elastic.co/t/implementing-relative-score-fusion-for-hybrid-search-in-elasticsearch/364408/2 "2024-08-06T12:06:57Z")

</div>

Hi @ayubSubhaniya,

See if these resources could help:

- [Elasticsearch Search Labs Tutorial on Hybrid Search](https://www.elastic.co/search-labs/tutorials/search-tutorial/vector-search/hybrid-search)
- [Elasticsearch Labs Hybrid Search Notebook](https://github.com/elastic/elasticsearch-labs/blob/main/notebooks/search/02-hybrid-search.ipynb)

---

<div class="post-metadata">

**Author:** ![ayubSubhaniya](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/ayubsubhaniya/32/136526_2.png) [@ayubSubhaniya](https://discuss.elastic.co/u/ayubSubhaniya)\
**Post date:** [August 7, 2024, 2:32am UTC](https://discuss.elastic.co/t/implementing-relative-score-fusion-for-hybrid-search-in-elasticsearch/364408/3 "2024-08-07T02:32:54Z")

</div>

Thanks @Alex_Salgado-Elastic , I went through that docs it helps a bit but what I was looking for is a improved version over RRF, that is reciprocal score fusion.

---

<div class="post-metadata">

**Author:** ![juanb-airia](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/juanb-airia/32/142830_2.png) [@juanb-airia](https://discuss.elastic.co/u/juanb-airia)\
**Post date:** [April 24, 2025, 7:50pm UTC](https://discuss.elastic.co/t/implementing-relative-score-fusion-for-hybrid-search-in-elasticsearch/364408/4 "2025-04-24T19:50:05Z")

</div>

Hey @ayubSubhaniya did you find more information on how to implement this strategy? Thanks in advance.
