Condividi tramite


RRF - Linguaggio di query in Cosmos DB (in Azure e Fabric)

La RRF funzione restituisce un punteggio fuso combinando due o più punteggi forniti da altre funzioni.

Sintassi

RRF(<function1>, <function2>, ..., <weights>)

Arguments

Description
function1 Funzione di assegnazione dei punteggi, ad esempio VectorDistance o FullTextScore.
function2 Funzione di assegnazione dei punteggi, ad esempio VectorDistance o FullTextScore.
weights Matrice di numeri che definiscono un peso di importanza per ogni funzione di assegnazione dei punteggi.

Tipi restituiti

Restituisce un valore numerico che rappresenta il punteggio fuso.

Esempi

Questa sezione contiene esempi di come usare questo costrutto di linguaggio di query.

Ricerca ibrida (somiglianza vettoriale + BM25)

In questo esempio Ricerca ibrida combina FullTextScore e VectorDistance.

SELECT TOP 10 *
FROM c
ORDER BY RANK RRF(FullTextScore(c.text, "keyword"), VectorDistance(c.vector, [1,2,3]))
-- Example result not available (see documentation)

In questo esempio Ricerca ibrida usa i pesi per le funzioni di assegnazione dei punteggi.

SELECT TOP 10 *
FROM c
ORDER BY RANK RRF(FullTextScore(c.text, "keyword"), VectorDistance(c.vector, [1,2,3]), [2,1])
-- Example result not available (see documentation)

Fusion con due funzioni FullTextScore

In questo esempio vengono fuse due funzioni FullTextScore.

SELECT TOP 10 *
FROM c
ORDER BY RANK RRF(FullTextScore(c.text, "keyword1"), FullTextScore(c.text, "keyword2"))
-- Example result not available (see documentation)

Fusion con due funzioni VectorDistance

In questo esempio vengono fuse due funzioni VectorDistance.

SELECT TOP 5 *
FROM c
ORDER BY RANK RRF(VectorDistance(c.vector1, [1,2,3]), VectorDistance(c.vector2, [2,2,4]))
-- Example result not available (see documentation)

Osservazioni:

  • Questa funzione richiede la registrazione nella funzionalità Di ricerca full-text di Azure Cosmos DB NoSQL.
  • Ricerca ibrida richiede anche la registrazione in Ricerca vettoriale NoSQL di Azure Cosmos DB.
  • Questa funzione richiede un indice full-text.
  • Questa funzione può essere usata solo in una ORDER BY RANK clausola e non può essere combinata con ORDER BY in altri percorsi di proprietà.
  • Questa funzione non può far parte di una proiezione( ad esempio, SELECT FullTextScore(c.text, "keyword") AS Score FROM c non è valida).