OData-funktion search.score i Azure AI-sökning

Anmärkning

Azure AI-sökning är tillgängligt via Azure-portalen, REST-API:er och Azure-SDK:er. Den ligger också till grund för Foundry IQ, det hanterade kunskapsskiktet som omvandlar företagsinnehåll till återanvändbara, behörighetsmedvetna kunskapsbaser för agenter i Microsoft Foundry-portalen.

När du skickar en fråga till Azure AI-sökning utan parametern $orderby sorteras resultaten som kommer tillbaka i fallande ordning efter relevanspoäng. Även när du använder $orderby används relevanspoängen för att bryta banden som standard. Ibland är det dock användbart att använda relevanspoängen som ett inledande sorteringskriterium och några andra kriterier som avgörande kriterium. Exemplet i den här artikeln visar hur du använder search.score funktionen för sortering.

Anmärkning

Relevanspoängen beräknas av relevansrankningsalgoritmen och intervallet varierar beroende på vilken algoritm du använder. Mer information finns i Relevans och bedömning i Azure AI-sökning.

Syntax

Syntaxen för search.score i $orderby är search.score(). Funktionen search.score tar inga parametrar. För fulltextfrågor kan du använda dem med sorteringsordningsspecificeraren asc eller desc, precis som vilket annat uttryck som helst i $orderby-parametern. Den kan visas var som helst i listan med sorteringsvillkor.

Exempel

Sortera hotell i fallande ordning efter search.score och rating, och sedan i stigande ordning efter avstånd från de angivna koordinaterna så att det närmaste visas först mellan två hotell med identiska relevanspoäng och klassificeringar:

    search.score() desc,rating desc,geo.distance(location, geography'POINT(-122.131577 47.678581)') asc

Limitations

Du kan inte använda search.score() i $orderby för rena vektor- eller hybridfrågor. Tjänsten avvisar dessa begäranden med ett HTTP 400-fel InvalidRequestParameter . Ta bort search.score() från $orderby för att korrigera begäran.

Nästa steg