RRF (requête NoSQL)
S’APPLIQUE À : NoSQL
Cette fonction système est utilisée pour combiner deux scores ou plus fournis par d’autres fonctions.
Syntaxe
RRF(<function1>, <function2, ...>)
Arguments
Description | |
---|---|
function1 |
Fonction de scoring telle que VectorDistance ou FullTextScore. |
function2 |
Fonction de scoring telle que VectorDistance ou FullTextScore. |
Exemples
Il s’agit d’un exemple de recherche hybride (recherche de similarité vectorielle + scoring de texte intégral BM25).
SELECT TOP 10 *
FROM c
ORDER BY RANK RRF(FullTextScore(c.text, ["keyword"]), VectorDistance(c.vector, [1,2,3]))
Cet exemple montre la fusion avec deux FullTextScore
fonctions
SELECT TOP 10 *
FROM c
ORDER BY RANK RRF(FullTextScore(c.text, ["keyword1"]), FullTextScore(c.text, ["keyword2"])
Cet exemple montre la fusion avec deux VectorDistance
fonctions
SELECT TOP 5 *
FROM c
ORDER BY RANK RRF(VectorDistance(c.vector1, [1,2,3]),VectorDistance(c.vector2, [2,2,4]))
Notes
- Cette fonction nécessite l’inscription dans la fonctionnalité de recherche en texte intégral NoSQL d’Azure Cosmos DB.
- La recherche hybride nécessite également l’inscription dans Recherche vectorielle NoSQL Azure Cosmos DB.
- Cette fonction nécessite un index de recherche en texte intégral.
- Cette fonction ne peut être utilisée que dans une
ORDER BY RANK
clause et ne peut pas être combinée avecORDER BY
d’autres chemins de propriété. - Cette fonction ne peut pas faire partie d’une projection (par exemple,
SELECT FullTextScore(c.text, "keyword") AS Score FROM c
n’est pas valide.