Skip to content
2 changes: 2 additions & 0 deletions docs/reference/index.asciidoc
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,8 @@ include::alias.asciidoc[]

include::search/search-your-data/search-your-data.asciidoc[]

include::reranking/index.asciidoc[]

include::query-dsl.asciidoc[]

include::aggregations.asciidoc[]
Expand Down
16 changes: 16 additions & 0 deletions docs/reference/reranking/index.asciidoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
[[reranking-overview]]
= Reranking

Rerankers improve the relevance of results from earlier-stage retrieval mechanisms.
First-stage rankers must be very fast and efficient because they process either the entire corpus, or all matching documents.

In a multi-stage pipeline, you can progressively use more computationally intensive ranking functions and techniques, as they will operate on smaller result sets at each step.
This helps avoid query latency degradation and keeps costs manageable.

Currently, the following reranking techniques are available in {es}:

* <<semantic-reranking>>: Use machine learning models to reorder search results based on their semantic similarity to a query. Models can be hosted directly in your {es} cluster, or you can use <<inference-apis,inference endpoints>> to use models provided by third-party services. Enables out-of-the-box semantic search capabilities on existing indices.
* <<learning-to-rank>>: Train a machine learning model to build a ranking function for your search experience that updates over time. For advanced use cases.

include::semantic-reranking.asciidoc[]
include::learning-to-rank.asciidoc[]
Original file line number Diff line number Diff line change
Expand Up @@ -131,4 +131,4 @@ In the next pages of this guide you will learn to:
* <<learning-to-rank-search-usage, Search using LTR model as a rescorer>>

include::learning-to-rank-model-training.asciidoc[]
include::learning-to-rank-search-usage.asciidoc[]
include::learning-to-rank-search-usage.asciidoc[]
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
[[semantic-reranking]]
=== Semantic reranking
== Semantic reranking

preview::[]

Expand All @@ -11,10 +11,6 @@ This overview focuses more on the high-level concepts and use cases for semantic
Rerankers improve the relevance of results from earlier-stage retrieval mechanisms.
_Semantic_ rerankers use machine learning models to reorder search results based on their semantic similarity to a query.

First-stage retrievers and rankers must be very fast and efficient because they process either the entire corpus, or all matching documents.
In a multi-stage pipeline, you can progressively use more computationally intensive ranking functions and techniques, as they will operate on smaller result sets at each step.
This helps avoid query latency degradation and keeps costs manageable.

Semantic reranking requires relatively large and complex machine learning models and operates in real-time in response to queries.
This technique makes sense on a small _top-k_ result set, as one the of the final steps in a pipeline.
This is a powerful technique for improving search relevance that works equally well with keyword, semantic, or hybrid retrieval algorithms.
Expand All @@ -24,7 +20,7 @@ The final sections include a practical, high-level overview of how to implement

[discrete]
[[semantic-reranking-use-cases]]
==== Use cases
=== Use cases

Semantic reranking enables a variety of use cases:

Expand All @@ -45,7 +41,7 @@ Now that we've outlined the value of semantic reranking, we'll explore the speci

[discrete]
[[semantic-reranking-models]]
==== Cross-encoder and bi-encoder models
=== Cross-encoder and bi-encoder models

At a high level, two model types are used for semantic reranking: cross-encoders and bi-encoders.

Expand Down Expand Up @@ -83,7 +79,7 @@ Note that similarity scores from bi-encoders/embedding similarities are _query-d

[discrete]
[[semantic-reranking-in-es]]
==== Semantic reranking in {es}
=== Semantic reranking in {es}

In {es}, semantic rerankers are implemented using the {es} <<inference-apis,Inference API>> and a <<retriever,retriever>>.

Expand Down Expand Up @@ -134,7 +130,7 @@ POST _search

[discrete]
[[semantic-reranking-learn-more]]
==== Learn more
=== Learn more

* Read the <<retriever,retriever reference documentation>> for syntax and implementation details
* Learn more about the <<retrievers-overview,retrievers>> abstraction
Expand Down

This file was deleted.

2 changes: 2 additions & 0 deletions docs/reference/search/search-your-data/search-api.asciidoc
Original file line number Diff line number Diff line change
Expand Up @@ -530,3 +530,5 @@ include::retrieve-inner-hits.asciidoc[]
include::search-shard-routing.asciidoc[]
include::search-using-query-rules.asciidoc[]
include::search-template.asciidoc[]
include::retrievers-overview.asciidoc[]

Original file line number Diff line number Diff line change
Expand Up @@ -45,8 +45,6 @@ results directly in the Kibana Search UI.
include::search-api.asciidoc[]
include::knn-search.asciidoc[]
include::semantic-search.asciidoc[]
include::retrievers-reranking/index.asciidoc[]
include::learning-to-rank.asciidoc[]
include::search-across-clusters.asciidoc[]
include::search-with-synonyms.asciidoc[]
include::search-application-overview.asciidoc[]
Expand Down