Partager via


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 avec ORDER 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.