mirror of
https://github.com/qdrant/landing_page.git
synced 2026-10-04 18:38:30 +02:00
specify that offset is not propagated into prefetches
This commit is contained in:
@@ -1,7 +1,7 @@
|
|||||||
---
|
---
|
||||||
title: Hybrid Queries #required
|
title: Hybrid Queries #required
|
||||||
weight: 57 # This is the order of the page in the sidebar. The lower the number, the higher the page will be in the sidebar.
|
weight: 57 # This is the order of the page in the sidebar. The lower the number, the higher the page will be in the sidebar.
|
||||||
aliases:
|
aliases:
|
||||||
- ../hybrid-queries
|
- ../hybrid-queries
|
||||||
hideInSidebar: false # Optional. If true, the page will not be shown in the sidebar. It can be used in regular documentation pages and in documentation section pages (_index.md).
|
hideInSidebar: false # Optional. If true, the page will not be shown in the sidebar. It can be used in regular documentation pages and in documentation section pages (_index.md).
|
||||||
---
|
---
|
||||||
@@ -10,7 +10,7 @@ hideInSidebar: false # Optional. If true, the page will not be shown in the side
|
|||||||
|
|
||||||
*Available as of v1.10.0*
|
*Available as of v1.10.0*
|
||||||
|
|
||||||
With the introduction of [many named vectors per point](/documentation/concepts/vectors/#named-vectors), there are use-cases when the best search is obtained by combining multiple queries,
|
With the introduction of [many named vectors per point](/documentation/concepts/vectors/#named-vectors), there are use-cases when the best search is obtained by combining multiple queries,
|
||||||
or by performing the search in more than one stage.
|
or by performing the search in more than one stage.
|
||||||
|
|
||||||
Qdrant has a flexible and universal interface to make this possible, called `Query API` ([API reference](https://api.qdrant.tech/api-reference/search/query-points)).
|
Qdrant has a flexible and universal interface to make this possible, called `Query API` ([API reference](https://api.qdrant.tech/api-reference/search/query-points)).
|
||||||
@@ -23,6 +23,8 @@ Specifically, whenever a query has at least one prefetch, Qdrant will:
|
|||||||
|
|
||||||
Additionally, prefetches can have prefetches themselves, so you can have nested prefetches.
|
Additionally, prefetches can have prefetches themselves, so you can have nested prefetches.
|
||||||
|
|
||||||
|
<aside role="status">Using <code>offset</code> parameter only affects the main query. This means that the prefetches must have a <code>limit</code> of at least <code>limit + offset</code> of the main query, otherwise you can get an empty result.</aside>
|
||||||
|
|
||||||
## Hybrid Search
|
## Hybrid Search
|
||||||
|
|
||||||
One of the most common problems when you have different representations of the same data is to combine the queried points for each representation into a single result.
|
One of the most common problems when you have different representations of the same data is to combine the queried points for each representation into a single result.
|
||||||
@@ -34,23 +36,23 @@ plus the best of matching specific words.
|
|||||||
|
|
||||||
Qdrant currently has two ways of combining the results from different queries:
|
Qdrant currently has two ways of combining the results from different queries:
|
||||||
|
|
||||||
- `rrf` -
|
- `rrf` -
|
||||||
<a href=https://plg.uwaterloo.ca/~gvcormac/cormacksigir09-rrf.pdf target="_blank">
|
<a href=https://plg.uwaterloo.ca/~gvcormac/cormacksigir09-rrf.pdf target="_blank">
|
||||||
Reciprocal Rank Fusion
|
Reciprocal Rank Fusion
|
||||||
</a>
|
</a>
|
||||||
|
|
||||||
Considers the positions of results within each query, and boosts the ones that appear closer to the top in multiple of them.
|
Considers the positions of results within each query, and boosts the ones that appear closer to the top in multiple of them.
|
||||||
|
|
||||||
- `dbsf` -
|
- `dbsf` -
|
||||||
<a href=https://medium.com/plain-simple-software/distribution-based-score-fusion-dbsf-a-new-approach-to-vector-search-ranking-f87c37488b18 target="_blank">
|
<a href=https://medium.com/plain-simple-software/distribution-based-score-fusion-dbsf-a-new-approach-to-vector-search-ranking-f87c37488b18 target="_blank">
|
||||||
Distribution-Based Score Fusion
|
Distribution-Based Score Fusion
|
||||||
</a> *(available as of v1.11.0)*
|
</a> *(available as of v1.11.0)*
|
||||||
|
|
||||||
Normalizes the scores of the points in each query, using the mean +/- the 3rd standard deviation as limits, and then sums the scores of the same point across different queries.
|
Normalizes the scores of the points in each query, using the mean +/- the 3rd standard deviation as limits, and then sums the scores of the same point across different queries.
|
||||||
|
|
||||||
<aside role="status"><code>dbsf</code> is stateless and calculates the normalization limits only based on the results of each query, not on all the scores that it has seen.</aside>
|
<aside role="status"><code>dbsf</code> is stateless and calculates the normalization limits only based on the results of each query, not on all the scores that it has seen.</aside>
|
||||||
|
|
||||||
Here is an example of Reciprocal Rank Fusion for a query containing two prefetches against different named vectors configured to respectively hold sparse and dense vectors.
|
Here is an example of Reciprocal Rank Fusion for a query containing two prefetches against different named vectors configured to respectively hold sparse and dense vectors.
|
||||||
|
|
||||||
{{< code-snippet path="/documentation/headless/snippets/query-points/hybrid-basic/" >}}
|
{{< code-snippet path="/documentation/headless/snippets/query-points/hybrid-basic/" >}}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user