Partilhar via


RRF - Linguagem de consulta no Cosmos DB (no Azure e no Fabric)

A RRF função retorna uma pontuação fundida combinando duas ou mais pontuações fornecidas por outras funções.

Sintaxe

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

Arguments

Description
function1 Uma função de pontuação, como VectorDistance ou FullTextScore.
function2 Uma função de pontuação, como VectorDistance ou FullTextScore.
weights Uma matriz de números que define um peso de importância para cada função de pontuação.

Tipos de devolução

Devolve um valor numérico que representa a pontuação fundida.

Examples

Esta seção contém exemplos de como usar essa construção de linguagem de consulta.

Pesquisa híbrida (semelhança vetorial + BM25)

Neste exemplo, a Pesquisa Híbrida 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)

Neste exemplo, a Pesquisa Híbrida usa pesos para as funções de pontuação.

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)

Fusão com duas funções FullTextScore

Neste exemplo, duas funções FullTextScore são fundidas.

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

Fusão com duas funções VectorDistance

Neste exemplo, duas funções VectorDistance são fundidas.

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)

Observações

  • Esta função requer inscrição no recurso de Pesquisa de Texto Completo NoSQL do Azure Cosmos DB.
  • A Pesquisa Híbrida também requer inscrição na Pesquisa Vetorial NoSQL do Azure Cosmos DB.
  • Esta função requer um índice de texto completo.
  • Essa função só pode ser usada em uma ORDER BY RANK cláusula e não pode ser combinada com ORDER BY outros caminhos de propriedade.
  • Esta função não pode fazer parte de uma projeção (por exemplo, SELECT FullTextScore(c.text, "keyword") AS Score FROM c é inválida).