Dela via


RRF (NoSQL-fråga)

GÄLLER FÖR: NoSQL

Den här systemfunktionen används för att kombinera två eller flera poäng som tillhandahålls av andra funktioner.

Syntax

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

Argument

beskrivning
function1 En bedömningsfunktion som VectorDistance eller FullTextScore.
function2 En bedömningsfunktion som VectorDistance eller FullTextScore.

Exempel

Det här är ett exempel på hybridsökning (vektorlikhetssökning + BM25 fulltextbedömning).

SELECT TOP 10 *
FROM c
ORDER BY RANK RRF(FullTextScore(c.text, ["keyword"]), VectorDistance(c.vector, [1,2,3]))

Det här exemplet visar fusion med två FullTextScore funktioner

SELECT TOP 10 *
FROM c
ORDER BY RANK RRF(FullTextScore(c.text, ["keyword1"]), FullTextScore(c.text, ["keyword2"])

Det här exemplet visar fusion med två VectorDistance funktioner

SELECT TOP 5 *
FROM c
ORDER BY RANK RRF(VectorDistance(c.vector1, [1,2,3]),VectorDistance(c.vector2, [2,2,4]))

Kommentarer

  • Den här funktionen kräver registrering i förhandsversionen av Azure Cosmos DB NoSQL Full Text Search.
  • Hybridsökning kräver också registrering i Azure Cosmos DB NoSQL Vector Search.
  • Den här funktionen kräver ett fulltextindex.
  • Den här funktionen kan bara användas i en ORDER BY RANK -sats och kan inte kombineras med ORDER BY på andra egenskapssökvägar.
  • Den här funktionen kan inte ingå i en projektion (till exempel SELECT FullTextScore(c.text, "keyword") AS Score FROM c är ogiltig.