Konfigurera semantisk rangordning och returnera bildtext i sökresultat

I den här artikeln får du lära dig hur du anropar en semantisk rangordning över en resultatuppsättning och främjar de mest semantiskt relevanta resultaten högst upp i stacken. Du kan också få semantiska bildtext, med höjdpunkter över de mest relevanta termerna och fraserna och semantiska svar.

Förutsättningar

  • En söktjänst på nivån Basic, Standard (S1, S2, S3) eller lagringsoptimerad nivå (L1, L2), beroende på regionens tillgänglighet.

  • Semantisk ranker aktiverad i söktjänsten.

  • Ett befintligt sökindex med RTF-innehåll. Semantisk rangordning gäller för textfält (icke-belackare) och fungerar bäst på innehåll som är informations- eller beskrivande.

Välj en klient

Välj en sökklient som stöder semantisk rangordning. Här följer några alternativ:

Lägga till en semantisk konfiguration

En semantisk konfiguration är ett avsnitt i ditt index som upprättar fältindata för semantisk rangordning. Du kan lägga till eller uppdatera en semantisk konfiguration när som helst, ingen återskapande krävs. Om du skapar flera konfigurationer kan du ange ett standardvärde. Vid frågetillfället anger du en semantisk konfiguration för en frågebegäran eller lämnar den tom om du vill använda standardinställningen.

En semantisk konfiguration har ett namn och följande egenskaper:

Property Egenskaper
Rubrikfält En kort sträng, helst under 25 ord. Det här fältet kan vara rubriken på ett dokument, namnet på en produkt eller en unik identifierare. Om du inte har ett lämpligt fält lämnar du det tomt.
Innehållsfält Längre textsegment i naturlig språkform, med förbehåll för maximala tokeninmatningsgränser för maskininlärningsmodellerna. Vanliga exempel är brödtexten i ett dokument, en beskrivning av en produkt eller annan fritext.
Nyckelordsfält En lista med nyckelord, till exempel taggarna i ett dokument eller en beskrivande term, till exempel kategorin för ett objekt.

Du kan bara ange ett rubrikfält, men du kan ha så många innehålls- och nyckelordsfält som du vill. För innehålls- och nyckelordsfält listar du fälten i prioritetsordning eftersom fält med lägre prioritet kan trunkeras.

För alla semantiska konfigurationsegenskaper måste fälten du tilldelar vara:

  • Tillskriven som searchable och retrievable
  • Strängar av typen Edm.String, Collection(Edm.String), strängunderfält för Collection(Edm.ComplexType)
  1. Logga in på Azure-portalen och navigera till en söktjänst som har semantisk rangordning aktiverad.

  2. Öppna ett index från Index i det vänstra navigeringsfönstret.

  3. Välj Semantiska konfigurationer och välj sedan Lägg till semantisk konfiguration.

    Sidan Ny semantisk konfiguration öppnas med alternativ för att välja ett rubrikfält, innehållsfält och nyckelordsfält. Endast sökbara och hämtningsbara strängfält är berättigade. Se till att lista innehållsfält och nyckelordsfält i prioritetsordning.

    Screenshot that shows how to create a semantic configuration in the Azure portal.

    Spara ändringarna genom att välja OK .

Migrera från förhandsversioner

Om din semantiska rangordningskod använder förhandsversions-API:er förklarar det här avsnittet hur du migrerar till stabila versioner. Du kan kontrollera ändringsloggarna för verifiering av allmän tillgänglighet:

Beteendeändringar:

  • Från och med den 14 juli 2023 är semantisk ranker språkagnostisk. Den kan ändra resultat som består av flerspråkigt innehåll, utan någon bias mot ett visst språk. I förhandsversioner skulle semantisk rangordning deprioritera resultat som skiljer sig från det språk som anges av fältanalysatorn.

  • I 2021-04-30-Preview och alla senare versioner definierar rest-API:et och alla SDK-paket som riktar sig mot samma version: semanticConfiguration (i en indexdefinition) vilka sökfält som används i semantisk rangordning. Tidigare i REST API searchFields :et 2020-06-30-Preview (i en frågebegäran) användes för fältspecifikation och prioritering. Den här metoden fungerade endast 2020-06-30-Preview och är föråldrad i alla andra versioner.

Steg 1: Ta bort queryLanguage

Den semantiska rankningsmotorn är nu språkagnostisk. Om queryLanguage anges i frågelogik används den inte längre för semantisk rangordning, men gäller fortfarande för stavningskorrigering.

Behåll queryLanguage om du använder stavningsverktyget och om språkvärdet stöds av stavningsverktyget. Stavningskontroll har begränsad tillgänglighet mellan olika språk.

Annars tar du bort queryLanguage.

Steg 2: Ersätt searchFields med semanticConfiguration

Om koden anropar REST API:et 2020-06-30-Preview eller beta-SDK-paket som riktar sig mot rest-API-versionen kan du använda searchFields i en frågebegäran för att ange semantiska fält och prioriteringar. I inledande betaversioner searchFields hade du ett dubbelt syfte som begränsade den inledande frågan till fälten som anges i searchFields, och även ange fältprioritet om semantisk rangordning användes. I senare versioner searchFields behåller sitt ursprungliga syfte, men används inte längre för semantisk rangordning.

Behåll searchFields frågebegäranden om du använder den för att begränsa fulltextsökning till listan över namngivna fält.

Lägg till ett semanticConfiguration indexschema för att ange fältprioritering enligt anvisningarna i den här artikeln.

Nästa steg

Testa din semantiska konfiguration genom att köra en semantisk fråga.