Dela via


Sök dokument (FÖRHANDSVERSION REST API)

gäller för: 2023-07-01-Preview. Den här versionen stöds inte längre. Uppgradera omedelbart till en nyare version.

Viktig

2023-07-01-Preview lägger till:

  • "vektorer" frågeparameter som anger eventuella begäranden om vektorfrågor. Varje objekt ska innehålla vektorrepresentationen av frågan, "k" antal närmaste grannar som ska returneras i resultatet och de vektorfält som ska användas under frågekörningen.

2021-04-30-Preview lägger till:

  • "semanticConfiguration" stöder omfångsordning av semantisk rangordning för specifika fält.
  • "bildtexter" returnerar fraser som extraherats från nyckelpassagen i de högst semantiskt rankade dokumenten.

2020-06-30-Preview lägger till:

  • "queryType=semantisk" stöder semantisk omrankning och svar.
  • "searchFields" i en semantisk fråga etablerar prioritetsordningen för fält som används för att formulera bildtexter och svar. Den här metoden ersattes av "semanticConfiguration" 2021-04-30-Preview och är nu föråldrad.
  • aktiverar stavningskorrigering för frågeindata.
  • "queryLanguage" krävs för både "queryType=semantic" och "speller".
  • "featuresMode" packar upp en sökpoäng, rapporterar om termfrekvens per fält, likhetspoäng per fält och antal unika matchningar per fält.

En frågebegäran riktar sig till dokumentsamlingen för ett enda index i en söktjänst. Den innehåller parametrar som definierar matchningsvillkoren och parametrar som formar svaret. Du kan också använda ett indexalias för att rikta ett visst index i stället för att använda själva indexnamnet.

Du kan använda GET eller POST för de flesta frågor, men du måste använda POST för vektorsökning eftersom vektorfrågeparametrar inte passar in i en URI. Frågeparametrar anges i frågesträngen för GET-begäranden och i begärandetexten för POST-begäranden.

GET https://[service name].search.windows.net/indexes/[index name]/docs?[query parameters] 
  Content-Type: application/json   
  api-key: [admin or query key]  

Om du använder POST lägger du till åtgärden "search" som en URI-parameter.

POST https://[service name].search.windows.net/indexes/[index name]/docs/search?api-version=[api-version]  
  Content-Type: application/json  
  api-key: [admin or query key]  

När den anropas med GET får längden på begärande-URL:en inte överstiga 8 kB. Den här längden räcker för de flesta program. Vissa program skapar dock stora frågor, särskilt när OData-filteruttryck används. För dessa program är HTTP POST ett bättre alternativ eftersom det tillåter större filter än GET.

Med POST är antalet satser i ett filter den begränsande faktorn, inte storleken på den råa filtersträngen eftersom begärandestorleksgränsen för POST är cirka 16 MB. Även om storleksgränsen för POST-begäranden är stor kan filteruttryck inte vara godtyckligt komplexa. Mer information om begränsningar för filterkomplexitet finns i OData-uttryckssyntax för Azure AI Search.

URI-parametrar

Parameter Beskrivning
tjänstnamn Krävs. Ange det här namnet till det unika, användardefinierade namnet på söktjänsten.
indexnamn/dokument Krävs. Anger dokumentsamlingen för ett namngivet index. Namnet på ett indexalias kan också användas i stället för indexnamnet.
frågeparametrar Frågeparametrar anges på URI:n för GET-begäranden och i begärandetexten för POST-begäranden.
api-version Krävs. Se API-versioner för fler versioner.

Rekommendationer för URL-kodning

Kom ihåg att URL-koda specifika frågeparametrar när du anropar GET REST API direkt. För en sökdokument åtgärd kan URL-kodning vara nödvändigt för följande frågeparametrar:

  • söka
  • $filter
  • fasett
  • highlightPreTag
  • highlightPostTag

URL-kodning rekommenderas endast för enskilda parametrar. Om du oavsiktligt URL-kodar hela frågesträngen (allt efter ?) avbryts begäranden.

Url-kodning är också bara nödvändigt när du anropar REST API direkt med HJÄLP av GET. Ingen URL-kodning krävs när du använder POST, eller när du använder Azure AI Search .NET-klientbiblioteket, som hanterar kodning åt dig.

Begärandehuvuden

I följande tabell beskrivs de obligatoriska och valfria begäranderubrikerna.

Fält Beskrivning
Innehållstyp Krävs. Ange det här värdet till "application/json"
api-key Valfritt om du använder Azure-roller och en ägartoken anges i begäran, annars krävs en nyckel. En API-nyckel är en unik, systemgenererad sträng som autentiserar begäran till din söktjänst. Frågebegäranden mot dokumentsamlingen kan ange antingen en administratörsnyckel eller frågenyckel som API-nyckel. Frågenyckeln används för skrivskyddade åtgärder mot dokumentsamlingen. Mer information finns i Anslut till Azure AI Search med hjälp av nyckelautentisering.

Begärandetext

För GET: Ingen.

För POST:

{  
     "answers": "none" (default) | "extractive", 
     "count": true | false (default),
     "captions": "none" (default) | "extractive",
     "facets": [ "facet_expression_1", "facet_expression_2", ... ],  
     "featuresMode" : "disabled" (default) | "enabled",
     "filter": "odata_filter_expression",  
     "highlight": "highlight_field_1, highlight_field_2, ...",  
     "highlightPreTag": "pre_tag",  
     "highlightPostTag": "post_tag",  
     "minimumCoverage": # (% of index that must be covered to declare query successful; default 100),  
     "orderby": "orderby_expression",
     "queryLanguage": "en-us" (default) | (a supported language code), 
     "queryType": "simple" (default) | "full" | "semantic",
     "scoringParameters": [ "scoring_parameter_1", "scoring_parameter_2", ... ],  
     "scoringProfile": "scoring_profile_name",  
     "scoringStatistics" : "local" (default) | "global",
     "search": "simple_query_expression",  
     "searchFields": "field_name_1, field_name_2, ...",  
     "searchMode": "any" (default) | "all",  
     "select": "field_name_1, field_name_2, ...",  
     "semanticConfiguration": "semantic_configuration_name",
     "sessionId" : "session_id",
     "skip": # (default 0), 
     "speller": "none" (default) | "lexicon",  
     "top": #,
     "vectors": [
      {
        "value": "a vector representation of the query",
        "k": an integer (number of nearest neighbors to return as top results),
        "fields": "a comma-delimited list of vector fields to use in the query"
      }
     ]
   }  

fortsättning på partiella söksvar

Ibland kan Azure AI Search inte returnera alla begärda resultat i ett enda söksvar. Ett partiellt svar kan inträffa av olika orsaker, till exempel när frågan returnerar för många dokument genom att inte ange $top eller genom att ange ett värde för $ top som är för stort. I sådana fall innehåller Azure AI Search @odata.nextLink kommentar i svarstexten och @search.nextPageParameters om det var en POST-begäran. Du kan använda värdena för dessa anteckningar för att formulera en annan sökbegäran för att hämta nästa del av söksvaret. Det här beteendet kallas för en fortsättning av den ursprungliga sökbegäran och anteckningarna kallas fortsättningstoken. Se exemplet i avsnittet Svar för mer information om syntaxen för dessa anteckningar och var de visas i svarstexten.

Orsakerna till att Azure AI Search kan returnera fortsättningstoken är implementeringsspecifika och kan komma att ändras. Robusta klienter bör alltid vara redo att hantera fall där färre dokument än förväntat returneras och en fortsättningstoken ingår för att fortsätta hämta dokument. Observera också att du måste använda samma HTTP-metod som den ursprungliga begäran för att kunna fortsätta. Om du till exempel har skickat en GET-begäran måste eventuella fortsättningsbegäranden som du skickar också använda GET (och på samma sätt för POST).

Not

Syftet med @odata.nextLink och @search.nextPageParameters är att skydda tjänsten från frågor som begär för många resultat, inte att tillhandahålla en allmän mekanism för växling. Om du vill bläddra igenom resultaten använder du $top och $skip tillsammans. Om du till exempel vill ha sidor med storlek 10 ska din första begäran ha $top=10 och $skip=0, den andra begäran ska ha $top=10 och $skip=10, den tredje begäran ska ha $top=10 och $skip=20 och så vidare.

Frågeparametrar

En fråga accepterar flera parametrar på URL:en när den anropas med GET och som JSON-egenskaper i begärandetexten när den anropas med POST. Syntaxen för vissa parametrar skiljer sig något mellan GET och POST. Dessa skillnader anges i följande tabell.

Namn Typ Beskrivning
svar (förhandsversion) sträng Valfri. Giltiga värden är "none" och "extractive". Standardvärdet är "none". Den här parametern är endast giltig om frågetypen är "semantisk". När frågan är inställd på "extractive" formuleras och returneras svar från nyckelavsnitt i de högst semantiskt rankade dokumenten. Standardvärdet är ett svar, men du kan ange upp till 10 genom att lägga till ett antal. Till exempel returnerar "answers": "extractive|count-3" tre svar. För att ett svar ska returneras måste det finnas ordagrant innehåll i målfältet som ser ut som ett svar. De språkmodeller som används för svar tränas att känna igen svar, inte generera dem. Dessutom måste själva frågan se ut som en fråga.
api-version sträng Krävs. Version av REST-API:et som används för begäran. En lista över versioner som stöds finns i API-versioner. För den här åtgärden anges api-versionen som en URI-parameter oavsett om du anropar sökdokument med GET eller POST.
bildtexter (förhandsversion) sträng Valfri. Giltiga värden är "none" och "extractive". Standardvärdet är "none". Den här parametern är endast giltig om frågetypen är "semantisk". När frågan är inställd på "extractive" returneras bildtexter som extraherats från nyckelpassagen i de högst rankade dokumenten. När undertexter är inställda på "extractive" aktiveras markering som standard och kan konfigureras genom att lägga till pipe-tecknet |, följt av alternativet "highlight-<true/false>", till exempel "extractive|highlight-true".
$count boolesk Valfri. Giltiga värden är "true" eller "false". Standardvärdet är "false". När den anropas med POST får den här parametern namnet count i stället för $count. Anger om det totala antalet resultat ska hämtas. Det här värdet är antalet dokument som matchar sök- och $filter parametrarna och ignorerar $top och $skip. Om du ställer in det här värdet på "true" kan prestandan försämras. Antalet är korrekt om indexet är stabilt, men kommer under eller överrapportera alla dokument som aktivt läggs till, uppdateras eller tas bort. Om du bara vill få antalet utan dokument kan du använda $top=0.
fasetter eller fasetter sträng Valfri. Ett fält att fasettera efter, där fältet tilldelas som "facetable". När det anropas med GET är facet ett fält (facet: field1). När den anropas med POST heter den här parametern facets i stället för facet och anges som en matris (facets: [field1, field2, field3]). Strängen kan innehålla parametrar för att anpassa fasettering, uttryckt som kommaavgränsade namn/värde-par.

Giltiga värden är "count", "sort", "values", "interval" och "timeoffset".

"count" är det maximala antalet fasetteringsvillkor. standardvärdet är 10. Det finns ingen övre gräns för antalet termer, men högre värden försämrar prestanda, särskilt om det fasetterade fältet innehåller ett stort antal unika termer. Till exempel får "facet=category,count:5" de fem främsta kategorierna i fasetteringsresultat. Om parametern count är mindre än antalet unika termer kanske resultatet inte är korrekt. Detta beror på hur fasetteringsfrågor distribueras över shards. Om du vill få ett korrekt antal för alla shards kan du ange antal till noll eller till ett värde som är större än eller lika med antalet unika värden i det fasettbara fältet. Kompromissen är ökad svarstid.

"sort" kan anges till "count", "-count", "value", "-value". Använd antal för att sortera fallande efter antal. Använd -count för att sortera stigande efter antal. Använd värdet för att sortera stigande efter värde. Använd -value för att sortera fallande efter värde (till exempel "facet=category,count:3,sort:count" hämtar de tre främsta kategorierna i fasetteringsresultat i fallande ordning efter antalet dokument med varje stadsnamn). Om de tre främsta kategorierna är Budget, Motel och Luxury och Budget har fem träffar, har Motel sex och Luxury har fyra, är bucketarna i ordningen Motel, Budget, Luxury. För -value producerar "facet=rating,sort:-value" buckets för alla möjliga klassificeringar, i fallande ordning efter värde (om klassificeringarna till exempel är från 1 till 5 sorteras bucketarna 5, 4, 3, 2, 1, oavsett hur många dokument som matchar varje klassificering).

"värden" kan anges till pipe-avgränsade numeriska värden eller Edm.DateTimeOffset-värden som anger en dynamisk uppsättning fasettpostvärden (till exempel "facet=baseRate,values:10 | 20" producerar tre bucketar: en för bashastighet 0 upp till men inte inklusive 10, en för 10 upp till men inte inklusive 20 och en för 20 och högre). En sträng "facet=lastRenovationDate,values:2010-02-01T00:00:00Z" producerar två buckets: en för hotell som renoverades före februari 2010 och en för hotell som renoverades 1 februari 2010 eller senare. Värdena måste anges i sekventiell, stigande ordning för att få de förväntade resultaten.

"intervall" är ett heltalsintervall som är större än 0 för tal, eller minut, timme, dag, vecka, månad, kvartal, år för datumtidsvärden. Till exempel producerar "facet=baseRate,interval:100" buckets baserat på bashastighetsintervall av storlek 100. Om baspriserna alla är mellan $60 och $600 finns det buckets för 0-100, 100-200, 200-300, 300-400, 400-500 och 500-600. Strängen "facet=lastRenovationDate,interval:year" producerar en bucket för varje år när hotell renoverades.

"timeoffset" kan anges till ([+-]hh:mm, [+-]hhmm eller [+-]hh). Om den används måste parametern timeoffset kombineras med intervallalternativet och endast när det tillämpas på ett fält av typen Edm.DateTimeOffset. Värdet anger UTC-tidsförskjutningen för att ta hänsyn till vid inställning av tidsgränser. Till exempel: "facet=lastRenovationDate,interval:day,timeoffset:-01:00" använder daggränsen som börjar kl. 01:00:00 UTC (midnatt i måltidszonen).

antal och sortering kan kombineras i samma aspektspecifikation, men de kan inte kombineras med intervall eller värden, och intervall och värden kan inte kombineras.

Intervallfasetter på datumtid beräknas baserat på UTC-tiden om tidsförskjutningen inte har angetts. Till exempel: för "facet=lastRenovationDate,interval:day" börjar daggränsen kl. 00:00:00 UTC.
featuresMode (förhandsversion) boolesk Valfri. Giltiga värden är "aktiverade" och "inaktiverade". Standardvärdet är "inaktiverat". Ett värde som anger om resultatet ska innehålla frågeresultatfunktioner, som används för att beräkna relevanspoängen för ett dokument i förhållande till frågan, till exempel per fältlikhet. Använd "aktiverad" för att exponera fler frågeresultatfunktioner: per fältlikhetspoäng, per fälttermfrekvens och antal unika token per fält som matchas. Mer information finns i Likhet och bedömning.
$filter sträng Valfri. Ett strukturerat sökuttryck i OData-standardsyntax. Endast filterbara fält kan användas i ett filter. När den anropas med POST får den här parametern namnet filter i stället för $filter. Se OData-uttryckssyntax för Azure AI Search- för mer information om delmängden av OData-uttryckets grammatik som Stöds av Azure AI Search.
höjdpunkt sträng Valfri. En uppsättning kommaavgränsade fältnamn som används för träffhöjdpunkter. Endast sökbara fält kan användas för träffmarkering. Som standard returnerar Azure AI Search upp till fem markeringar per fält. Gränsen kan konfigureras per fält genom att lägga till "-<max antal markeringar>" efter fältnamnet. Till exempel returnerar "highlight=title-3,description-10" upp till tre markerade träffar från rubrikfältet och upp till 10 träffar från beskrivningsfältet. Det maximala antalet markeringar måste vara ett heltal mellan 1 och 1 000 inklusive.
highlightPostTag sträng Valfri. Standardvärdet är "</em>". En strängtagg som lägger till den markerade termen. Måste anges med highlightPreTag. Reserverade tecken i URL:en måste vara procentkodade (till exempel %23 i stället för #).
highlightPreTag sträng Valfri. Standardvärdet är "</em>". En strängtagg som förbereder till den markerade termen. Måste anges med highlightPostTag. Reserverade tecken i URL:en måste vara procentkodade (till exempel %23 i stället för #).
minimumCoverage heltal Valfri. Giltiga värden är ett tal mellan 0 och 100, vilket anger procentandelen av indexet som måste vara tillgängligt för att betjäna frågan innan den kan rapporteras som ett lyckat resultat. Standardvärdet är "100".

100 procents täckning innebär att alla shards svarade på begäran (varken servicehälsoproblem eller underhållsaktiviteter minskade täckningen). Under standardinställningen returnerar mindre än fullständig täckning HTTP-statuskod 503.

Att sänka minimumCoverage kan vara användbart om 503 fel inträffar och du vill öka sannolikheten för att frågan lyckas, särskilt för tjänster som har konfigurerats för en replik. Om du anger minimumCoverage och Search lyckas returneras HTTP 200 och innehåller ett @search.coverage värde i svaret som anger procentandelen av indexet som ingick i frågan. I det här scenariot är inte alla matchande dokument garanterade att finnas i sökresultaten, men om söktillgängligheten är viktigare än att återkalla kan det vara en livskraftig åtgärdsstrategi att minska täckningen.
$orderby sträng Valfri. En lista över kommaavgränsade uttryck för att sortera resultatet efter. När den anropas med POST heter den här parametern orderby i stället för $orderby. Varje uttryck kan vara antingen ett fältnamn eller ett anrop till funktionen geo.distance(). Varje uttryck kan följas av "asc" för att indikera stigande och "desc" för att indikera fallande. Om det finns null-värden i sorteringsfältet visas null först i stigande ordning och sist i fallande ordning. Standardvärdet är stigande ordning. Banden kommer att brytas av matchningspoängen för dokument. Om ingen $orderby har angetts sjunker standardsorteringsordningen efter dokumentmatchningspoäng. Det finns en gräns på 32 satser för $orderby.
queryLanguage (förhandsversion) sträng Valfri. Giltiga värden är ett språk som stöds. Standardvärdet är "en-us". Den här parametern måste anges om du använder antingen speller=lexicon eller queryType=semantic. Språket som anges i queryLanguage används för både stavningskontroll och av de semantiska modeller som ändrar resultat och extraherar en bildtext eller ett svar. Biblioteken som används för queryLanguage är oberoende av andra språkbaserade fältattribut, till exempel språkanalysverktyg som används för indexering och fulltextsökning.
queryType sträng Valfri. Giltiga värden är "enkla", "fullständiga" eller "semantiska" (förhandsversion). Standardvärdet är "enkelt". Det här värdet ignoreras för vektorsökning, men gäller för textsökning i hybridscenarier.

"enkel" tolkar frågesträngar med hjälp av den enkla frågesyntaxen som tillåter symboler som +, *och "". Frågor utvärderas i alla sökbara fält (eller fält som anges i searchFields) i varje dokument som standard.

"fullständig" tolkar frågesträngar med hjälp av den fullständiga Lucene-frågesyntaxen som tillåter fältspecifika och viktade sökningar. Intervallsökning i Lucene-frågespråket stöds inte till förmån för $filter, som erbjuder liknande funktioner.

"semantisk" förbättrar precisionen i sökresultaten genom att rangordna om de 50 bästa matchningarna med hjälp av en rangordningsmodell som tränats på Bing-corpus för frågor som uttrycks på naturligt språk i stället för nyckelord. Om du anger frågetypen till semantisk måste du också ange queryLanguage och semanticConfiguration. Du kan också ange svar om du vill returnera de 3 främsta svaren om frågeindata formulerades på naturligt språk ("vad är en ...), och du kan också ange undertexter för att extrahera nyckelpassagen från de högst rankade dokumenten.
scoringParameter sträng Valfri. Anger värdena för varje parameter som definierats i en bedömningsfunktion (till exempel referencePointParameter) med formatet "name-value1,value2,..." När den anropas med POST får den här parametern namnet scoringParameters i stället för scoringParameter. Du kan också ange den som en JSON-matris med strängar där varje sträng är ett separat namn/värde-par.

För bedömningsprofiler som innehåller en funktion separerar du funktionen från indatalistan med ett - tecken. En funktion med namnet "mylocation" skulle till exempel vara "&scoringParameter=mylocation--122.2,44.8". Det första strecket separerar funktionsnamnet från värdelistan, medan det andra strecket är en del av det första värdet (longitud i det här exemplet).

För bedömningsparametrar, till exempel för tagghöjande som kan innehålla kommatecken, kan du undvika sådana värden i listan med enkla citattecken. Om själva värdena innehåller enkla citattecken kan du undvika dem genom att fördubbla dem. Anta att du har en taggförstärkningsparameter som heter "mytag" och du vill öka taggvärdena "Hello, O'Brien" och "Smith", skulle frågesträngsalternativet sedan vara "&scoringParameter=mytag-'Hello, O''Brien',Smith". Citattecken krävs endast för värden som innehåller kommatecken.
scoringProfile sträng Valfri. Namnet på en bedömningsprofil för att utvärdera matchningspoäng för matchande dokument för att sortera resultaten.
scoringStatistics sträng Valfri. Giltiga värden är "lokala" eller "globala". Standardvärdet är "lokal". Ange om du vill beräkna bedömningsstatistik, till exempel dokumentfrekvens globalt (över alla shards) för mer konsekvent bedömning eller lokalt (på den aktuella fragmentet) för kortare svarstid. Se bedömningsstatistik i Azure AI Search. Bedömningsstatistik beräknas alltid lokalt för termer som använder fuzzy-sökning (~).
söka sträng Valfri. Texten som ska sökas efter. Det här värdet ignoreras för vektorsökning, men gäller för textsökning i hybridscenarier. I REST-API:er genomsöks alla sökbara fält som standard om inte searchFields har angetts. I indexet tokeniseras text i ett sökbart fält, så flera termer kan avgränsas med blanksteg (till exempel: "search=hello world"). Om du vill matcha valfri term använder du * (detta kan vara användbart för booleska filterfrågor). Att utelämna den här parametern har samma effekt som att ställa in den på *. Mer information om söksyntaxen finns i Enkel frågesyntax.

Resultat kan ibland vara överraskande när du frågar över sökbara fält. Tokenizern innehåller logik för att hantera ärenden som är gemensamma för engelsk text som apostrofer, kommatecken i tal och så vidare. Till exempel matchar "search=123,456" en enda term "123 456" i stället för de enskilda termerna "123" och "456", eftersom kommatecken används som tusentalsavgränsare för stora tal på engelska. Därför rekommenderar vi att du använder blanksteg i stället för skiljetecken för att avgränsa termer i sökparametern.
searchMode sträng Valfri. Giltiga värden är "any" eller "all" Defaults to "any". Anger om något eller alla söktermer måste matchas för att kunna räkna dokumentet som en matchning.
searchFields sträng Valfri. Listan med kommaavgränsade fältnamn för att söka efter den angivna texten. Målfält måste markeras som sökbara i indexschemat och måste vara av typen Edm.String, Edm.ComplexTypeeller Collection(Edm.String).
$select sträng Valfri. En lista över kommaavgränsade fält som ska inkluderas i resultatuppsättningen. Endast fält som har markerats som hämtningsbara kan tas med i den här satsen. Om det är ospecificerat eller inställt på *inkluderas alla fält som markerats som hämtningsbara i schemat i projektionen. När den anropas med POST namnges den här parametern select i stället för $select.
semanticConfiguration (förhandsversion) sträng Valfri. Krävs om queryType="semantisk". Namnet på den semantiska konfigurationen som visar vilka fält som ska användas för semantisk rangordning, undertexter, markeringar och svar. Mer information finns i Skapa en semantisk fråga.
sessionId sträng Valfri. Med sessionId kan du förbättra relevanspoängkonsekvensen för söktjänster med flera repliker. I konfigurationer med flera repliker kan det finnas små skillnader mellan relevanspoäng för enskilda dokument för samma fråga. När ett sessions-ID tillhandahålls gör tjänsten sitt bästa för att dirigera en viss begäran till samma replik för den sessionen. Var försiktig med att återanvändning av samma sessions-ID-värden upprepade gånger kan störa belastningsutjämningen av begäranden mellan repliker och påverka söktjänstens prestanda negativt. Värdet som används som sessionId kan inte börja med ett _-tecken. Om en tjänst inte har några repliker har den här parametern ingen effekt på prestanda eller poängkonsekvens.
$skip heltal Valfri. Antalet sökresultat att hoppa över. När den anropas med POST namnges den här parametern hoppa över i stället för $skip. Det här värdet får inte vara större än 100 000. Om du behöver genomsöka dokument i följd, men inte kan använda $skip på grund av den här begränsningen, bör du överväga att använda $orderby i ett fält som har unika värden för varje dokument i indexet (t.ex. dokumentnyckeln) och $filter med en intervallfråga i stället.
speller (förhandsversion) Sträng Valfri. Giltiga värden är "none" och "lexicon". Standardvärdet är "none". Förbättra återkallandet genom att stavningskorrigering av enskilda sökfrågetermer. Du kan använda den på enkla, fullständiga och semantiska frågetyper. Om den används kräver stavningsparametern queryLanguage. Mer information och exempel finns i Lägg till stavningskontroll i frågor.
$top heltal Valfri. Antalet sökresultat som ska hämtas. Detta är som standard 50. När den anropas med POST får den här parametern namnet top i stället för $top. Om du anger ett värde som är större än 1 000 och det finns fler än 1 000 resultat returneras endast de första 1 000 resultaten, tillsammans med en länk till nästa sida med resultat (se "@odata.nextLink" i exemplet nedan).

Azure AI Search använder växling på serversidan för att förhindra att frågor hämtar för många dokument samtidigt. Standardstorleken för sidan är 50, medan den maximala sidstorleken är 1 000. Det innebär att sökdokument som standard returnerar högst 50 resultat om du inte anger $top. Om det finns fler än 50 resultat innehåller svaret information för att hämta nästa sida med högst 50 resultat (se "@odata.nextLink" och "@search.nextPageParameters" i Exempel nedan. Om du anger ett värde som är större än 1 000 för $top och det finns fler än 1 000 resultat returneras endast de första 1 000 resultaten, tillsammans med information för att hämta nästa sida med högst 1 000 resultat.
vektorer (förhandsversion) samling Valfri. Objekttypen i matrisen är en vektorfråga. Frågeparametrarna för vektorfrågor.

"värde" är vektorrepresentationen av en sökfråga. Den här representationen måste skapas externt. Azure AI Search skapar inte inbäddningar.

"k" är ett heltal som anger antalet närmaste grannar som ska returneras som toppträffar. Standardvärdet är 50. Minimum är 1 och maximalt 10 000.

"fält" är ett kommaavgränsat listfältnamn som innehåller vektordata. Endast fält av typen Collection(Edm.Single) kan tas med i listan "fält".

Svar

Statuskod: 200 OK returneras för ett lyckat svar. Det finns två exempelsvar i den här artikeln, ett var för semantisk sökning och funktionerMode.

Exempelsvar för semantisk fråga

Det första exemplet visar det fullständiga svaret för det översta resultatet för den semantiska frågan "hur bildas moln".

  • "@search.answers" visas när du anger svarsparametern och när frågan och målfälten i indexet innehåller innehåll som kan identifieras som ett svar. Den @search.answers matris som har en nyckel, text och markeringar. Poängen är en indikator på svarets styrka.

  • "värde" är brödtexten i svaret. Den @search.rerankerScore tilldelas av den semantiska rangordningsalgoritmen och används för att rangordna resultat (@search.score kommer från BM25-likhetsalgoritmen som används vid bedömning av de första resultaten). Bildtexter omfattar oformaterad text och markerade versioner. Det här exemplet skapades med ocr- och entitetsigenkänningsfärdigheter. Fält för det extraherade och sammanfogade innehållet ingår i svaret.

{
    "@search.answers": [
        {
            "key": "aHR0cHM6Ly9oZWlkaXN0YmxvYnN0b3JhZ2UuYmxvYi5jb3JlLndpbmRvd3MubmV0L25hc2EtZWJvb2stMS01MC9wYWdlLTQ1LnBkZg2",
            "text": "Sunlight heats the land all day, warming that moist air and causing it to rise high into the atmosphere until it cools and condenses into water droplets. Clouds generally form where air is ascending (over land in this case),   but not where it is descending (over the river).",
            "highlights": "Sunlight heats the land all day, warming that moist air and causing it to rise high into the   atmosphere until it cools and condenses into water droplets. Clouds generally form<em> where air is ascending</em> (over land in this case),   but not where it is<em> descending</em> (over the river).",
            "score": 0.94639826
        }
    ],
    "value": [
        {
            "@search.score": 0.5479723,
            "@search.rerankerScore": 1.0321671911515296,
            "@search.captions": [
                {
                    "text": "Like all clouds, it forms when the air reaches its dew point—the temperature at which an air mass is cool enough for its water vapor to condense into liquid droplets. This false-color image shows valley fog, which is common in the Pacific Northwest of North America.",
                    "highlights": "Like all<em> clouds</em>, it<em> forms</em> when the air reaches its dew point—the temperature at    which an air mass is cool enough for its water vapor to condense into liquid droplets. This false-color image shows valley<em> fog</em>, which is common in the Pacific Northwest of North America."
                }
            ],
            "content": "\nA\nT\n\nM\nO\n\nS\nP\n\nH\nE\n\nR\nE\n\nE\nA\n\nR\nT\n\nH\n\n34\n\nValley Fog\nCanada\n\nFog is essentially a cloud lying on the ground. Like all clouds, it forms when the air reaches its dew point—the temperature at  \n\nwhich an air mass is cool enough for its water vapor to condense into liquid droplets.\n\nThis false-color image shows valley fog, which is common in the Pacific Northwest of North America. On clear winter nights, the \n\nground and overlying air cool off rapidly, especially at high elevations. Cold air is denser than warm air, and it sinks down into the \n\nvalleys. The moist air in the valleys gets chilled to its dew point, and fog forms. If undisturbed by winds, such fog may persist for \n\ndays. The Terra satellite captured this image of foggy valleys northeast of Vancouver in February 2010.\n\n\n",
            "metadata_storage_path": "aHR0cHM6Ly9oZWlkaXN0YmxvYnN0b3JhZ2UuYmxvYi5jb3JlLndpbmRvd3MubmV0L25hc2EtZWJvb2stMS01MC9wYWdlLTQxLnBkZg2",
            "people": [],
            "locations": [
                "Pacific Northwest",
                "North America",
                "Vancouver"
            ],
            "merged_content": "\nA\nT\n\nM\nO\n\nS\nP\n\nH\nE\n\nR\nE\n\nE\nA\n\nR\nT\n\nH\n\n34\n\nValley Fog\nCanada\n\nFog is essentially a cloud lying on the ground. Like all clouds, it forms when the air reaches its dew point—the temperature at  \n\nwhich an air mass is cool enough for its water vapor to condense into liquid droplets.\n\nThis false-color image shows valley fog, which is common in the Pacific Northwest of North America. On clear winter nights, the \n\nground and overlying air cool off rapidly, especially at high elevations. Cold air is denser than warm air, and it sinks down into the \n\nvalleys. The moist air in the valleys gets chilled to its dew point, and fog forms. If undisturbed by winds, such fog may persist for \n\ndays. The Terra satellite captured this image of foggy valleys northeast of Vancouver in February 2010.\n\n\n",
            "text": [],
            "layoutText": []
        }
    ]
}

Exempelsvar för featuresMode

I det här exemplet visas utdata "@search.features" från en fråga som innehåller featuresMode.

  {
    "@odata.count": # (if $count=true was provided in the query),
    "@search.coverage": # (if minimumCoverage was provided in the query),
    "@search.facets": { (if faceting was specified in the query)
      "facet_field": [
        {
          "value": facet_entry_value (for non-range facets),
          "from": facet_entry_value (for range facets),
          "to": facet_entry_value (for range facets),
          "count": number_of_documents
        }
      ],
      ...
    },
    "@search.nextPageParameters": { (request body to fetch the next page of results if not all results could be returned in this response and Search was called with POST)
      "count": ... (value from request body if present),
      "facets": ... (value from request body if present),
      "featuresMode" : ... (value from request body if present),
      "filter": ... (value from request body if present),
      "highlight": ... (value from request body if present),
      "highlightPreTag": ... (value from request body if present),
      "highlightPostTag": ... (value from request body if present),
      "minimumCoverage": ... (value from request body if present),
      "orderby": ... (value from request body if present),
      "scoringParameters": ... (value from request body if present),
      "scoringProfile": ... (value from request body if present),
      "scoringStatistics": ... (value from request body if present),
      "search": ... (value from request body if present),
      "searchFields": ... (value from request body if present),
      "searchMode": ... (value from request body if present),
      "select": ... (value from request body if present),
      "sessionId" : ... (value from request body if present),
      "skip": ... (page size plus value from request body if present),
      "top": ... (value from request body if present minus page size),
    },
    "value": [
      {
        "@search.score": document_score (if a text query was provided),
        "@search.highlights": {
          field_name: [ subset of text, ... ],
          ...
        },
        "@search.features": {
          "field_name": {
            "uniqueTokenMatches": feature_score,
            "similarityScore": feature_score,
            "termFrequency": feature_score,
          },
          ...
        },
        key_field_name: document_key,
        field_name: field_value (retrievable fields or specified projection),
        ...
      },
      ...
    ],
    "@odata.nextLink": (URL to fetch the next page of results if not all results could be returned in this response; Applies to both GET and POST)
  }

Exempel

Du hittar fler exempel i OData-uttryckssyntax för Azure AI Search.

Exempel: enkel sökning

Hitta dokument i indexet med enkel frågesyntax. Den här frågan returnerar hotell där sökbara fält innehåller termerna "comfort" och "location" men inte "motel":

Get /indexes/hotels/docs?search=comfort +location –motel&searchMode=all&api-version=2021-04-30-Preview
POST /indexes/hotels/docs/search?api-version=2021-04-30-Preview
    {  
      "search": "comfort +location -motel",  
      "searchMode": "all"  
    }  

Dricks

Användningen av searchMode=all åsidosätter standardvärdet för searchMode=any, vilket säkerställer att -motel betyder "AND NOT" i stället för "OR NOT". Utan searchMode=allfår du "OR NOT" som expanderar snarare än begränsar sökresultaten, och detta kan vara kontraintuitivt för vissa användare.

Exempel: fullständig Lucene-sökning

Hitta dokument i indexet med lucene-frågesyntax (se Lucene-frågesyntax i Azure AI Search). Den här frågan returnerar hotell där kategorifältet innehåller termen "budget" och alla sökbara fält som innehåller frasen "nyligen renoverad". Dokument som innehåller frasen "nyrenoverade" rangordnas högre som ett resultat av termen boost-värde (3)

GET /indexes/hotels/docs?search=Category:budget AND \"recently renovated\"^3&searchMode=all&api-version=2021-04-30-Preview&querytype=full`
POST /indexes/hotels/docs/search?api-version=2021-04-30-Preview
    {  
      "search": "Category:budget AND \"recently renovated\"^3",  
      "queryType": "full",  
      "searchMode": "all"  
}  

Exempel: semantisk sökning

Anropa den semantiska rangordningsmodellen med svar, bildtexter och markerat innehåll. Svaret för den här frågan finns i föregående avsnitt.

POST /indexes/hotels/docs/search?api-version=2021-04-30-Preview
{
  "search": "how do clouds form",
  "queryType": "semantic",
  "semanticConfiguration": "my-semantic-config",
  "queryLanguage": "en-us",
  "answers": "extractive",
  "captions": "extractive",
  "count": "true"
}

Exempel:

För ett index som har fält av typen Collection(Edm.Single) och en vektorkonfiguration kan du ange vektorfrågeparametrar. Vektorfrågeparametrar inkluderar de vektorfält som är inom omfånget för frågan, antalet "k" toppträffar som ska returneras och en vektorrepresentation av frågeindata.

Att lägga till en "select"-parameter är användbart om indexet innehåller textfält. Matchning och relevans baseras på vektorer, men fält som innehåller innehåll som kan läsas av människor är mer användbara för någon som läser resultaten. Du kan också skriva kod som konverterar vektordata i sökresultaten till text.

POST https://{{search-service-name}}.search.windows.net/indexes/{{index-name}}/docs/search?api-version={{api-version}}
Content-Type: application/json
api-key: {{admin-api-key}}
{
    "search": (this parameter is ignored in vector search),
    "vectors": [{
        "value": [
            -0.009154141,
            0.018708462,
            . . . 
            -0.02178128,
            -0.00086512347
        ],
        "fields": "contentVector",
        "k": 5
    }],
    "select": "title, content, category"
}

Exempel: orderby

Sök i indexet och returnera resultat sorterade efter datum i fallande ordning.

GET /indexes/hotels/docs?search=*&$orderby=LastRenovationDate desc&api-version=2021-04-30-Preview
POST /indexes/hotels/docs/search?api-version=2021-04-30-Preview
    {  
      "search": "*",  
      "orderby": "LastRenovationDate desc"
    }  

Exempel: filtrera med ett OData-uttryck

Hämta dokument som matchar ett specifikt filteruttryck:

GET /indexes/hotels/docs?$filter=(Rooms/BaseRate ge 60 and Rooms/BaseRate lt 300) or HotelName eq 'Fancy Stay'&api-version=2021-04-30-Preview
POST /indexes/hotels/docs/search?api-version=2021-04-30-Preview
    {  
      "filter": "(Rooms/BaseRate ge 60 and Rooms/BaseRate lt 300) or HotelName eq 'Fancy Stay'"  
    }  

Exempel: fasetterad sökning

I en fasetterad sökning söker du i indexet och hämtar fasetter efter kategorier, klassificeringar, taggar samt objekt med baseRate i specifika intervall.

GET /indexes/hotels/docs?search=*&facet=Category&facet=Rating&facet=Tags&facet=Rooms/BaseRate,values:80|150|220&api-version=2021-04-30-Preview
POST /indexes/hotels/docs/search?api-version=2021-04-30-Preview
    {  
      "search": "test",  
      "facets": [ "Category", "Rating", "Tags", "Rooms/BaseRate,values:80|150|220" ]  
    }  

Observera att den sista aspekten finns i ett underfält. Fasetter räknar det överordnade dokumentet (Hotell) och inte mellanliggande underdokument (Rum), så svaret avgör antalet hotell som har några rum i varje pris bucket.

exempel: Begränsa en fasetterad fråga

Använd ett filter och begränsa det tidigare fasetterade frågeresultatet när användaren har valt Omdöme 3 och kategorin "Motel".

GET /indexes/hotels/docs?search=*&facet=tags&facet=Rooms/BaseRate,values:80|150|220&$filter=Rating eq 3 and Category eq 'Motel'&api-version=2021-04-30-Preview  
POST /indexes/hotels/docs/search?api-version=2021-04-30-Preview 
    {  
      "search": "test",  
      "facets": [ "tags", "Rooms/BaseRate,values:80|150|220" ],  
      "filter": "Rating eq 3 and Category eq 'Motel'"  
    }  

Exempel: fasetterad sökning med gränser för varje kategori

I en fasetterad sökning anger du en övre gräns för unika termer som returneras i en fråga. Standardvärdet är 10, men du kan öka eller minska det här värdet med hjälp av parametern count i aspektattributet. Det här exemplet returnerar fasetter för stad, begränsat till 5.

GET /indexes/hotels/docs?search=*&facet=Address/City,count:5&api-version=2021-04-30-Preview
POST /indexes/hotels/docs/search?api-version=2021-04-30-Preview
    {  
      "search": "test",  
      "facets": [ "Address/City,count:5" ]  
    }  

Exempel: sök i fält

Sök i indexet inom specifika fält (till exempel ett språkfält)

GET /indexes/hotels/docs?search=hôtel&searchFields=Description_fr&api-version=2021-04-30-Preview
POST /indexes/hotels/docs/search?api-version=2021-04-30-Preview
    {  
      "search": "hôtel",  
      "searchFields": "Description_fr"
    }  

Sök igenom indexet i flera fält. Du kan till exempel lagra och fråga sökbara fält på flera språk, allt inom samma index. Om engelska och franska beskrivningar samexisterar i samma dokument kan du returnera alla eller alla i frågeresultatet:

GET /indexes/hotels/docs?search=hotel&searchFields=Description,Description_fr&api-version=2021-04-30-Preview
POST /indexes/hotels/docs/search?api-version=2021-04-30-Preview
    {  
      "search": "hotel",  
      "searchFields": "Description, Description_fr"
    }  

Du kan bara köra frågor mot ett index i taget. Skapa inte flera index för varje språk om du inte planerar att köra frågor mot ett i taget.

Exempel: växlingsresultat

Hämta den första sidan med objekt (sidstorleken är 10):

GET /indexes/hotels/docs?search=*&$skip=0&$top=10&api-version=2021-04-30-Preview
POST /indexes/hotels/docs/search?api-version=2021-04-30-Preview
    {  
      "search": "*",  
      "skip": 0,  
      "top": 10  
    }  

Hämta den andra sidan med objekt (sidstorleken är 10):

GET /indexes/hotels/docs?search=*&$skip=10&$top=10&api-version=2021-04-30-Preview
POST /indexes/hotels/docs/search?api-version=2021-04-30-Preview
    {  
      "search": "*",  
      "skip": 10,  
      "top": 10  
    }  

Exempel: begränsa fält i en resultatuppsättning

Hämta en specifik uppsättning fält:

GET /indexes/hotels/docs?search=*&$select=HotelName,Description&api-version=2021-04-30-Preview
POST /indexes/hotels/docs/search?api-version=2021-04-30-Preview
    {  
      "search": "*",  
      "select": "HotelName, Description"
    }  

Exempel: träffmarkering i resultat

Sök i indexet och returnera fragment med träffhöjdpunkter:

GET /indexes/hotels/docs?search=something&highlight=Description&api-version=2021-04-30-Preview
POST /indexes/hotels/docs/search?api-version=2021-04-30-Preview
    {  
      "search": "something",  
      "highlight": "Description"  
    }  

Exempel: Geospatial sökning

Sök i indexet och returnera dokument sorterade från närmare en referensplats:

GET /indexes/hotels/docs?search=something&$orderby=geo.distance(Location, geography'POINT(-122.12315 47.88121)')&api-version=2021-04-30-Preview
POST /indexes/hotels/docs/search?api-version=2021-04-30-Preview
    {  
      "search": "something",  
      "orderby": "geo.distance(Location, geography'POINT(-122.12315 47.88121)')"
    }  

Exempel: "find by me" (öka relevansen för närliggande platser

Sök i indexet förutsatt att det finns en bedömningsprofil som kallas "geo" med två avståndsbedömningsfunktioner, en som definierar en parameter som kallas "currentLocation" och en som definierar en parameter som kallas "lastLocation". I följande exempel har "currentLocation" en avgränsare av ett enda bindestreck (-). Det följs av longitud- och latitudkoordinater, där longitud är ett negativt värde.

GET /indexes/hotels/docs?search=something&scoringProfile=geo&scoringParameter=currentLocation--122.123,44.77233&scoringParameter=lastLocation--121.499,44.2113&api-version=2021-04-30-Preview
POST /indexes/hotels/docs/search?api-version=2021-04-30-Preview
    {  
      "search": "something",  
      "scoringProfile": "geo",  
      "scoringParameters": [ "currentLocation--122.123,44.77233", "lastLocation--121.499,44.2113" ]  
    }  

Exempel: fråga över fullständigt index i stället för shards

Hitta dokument i indexet samtidigt som konsekvent bedömning prioriteras framför kortare svarstider. Den här frågan beräknar dokumentfrekvenser i hela indexet och gör ett bästa försök att rikta in samma replik för alla frågor inom samma "session", vilket hjälper till att generera en stabil och reproducerbar rangordning.

GET /indexes/hotels/docs?search=hotel&sessionId=mySessionId&scoringStatistics=global&api-version=2021-04-30-Preview
POST /indexes/hotels/docs/search?api-version=2021-04-30-Preview
    {  
      "search": "hotel",  
      "sessionId": "mySessionId",
      "scoringStatistics" :"global"
    }  

Exempel: bedömningsstatistik (featuresMode)

Leta upp dokument i indexet och returnera en lista med funktioner för informationshämtning för varje resultat som beskriver bedömning mellan det matchade dokumentet och frågan. Frågan beräknar också dokumentfrekvenser i hela indexet för att skapa mer konsekvent bedömning.

GET /indexes/hotels/docs?search=hotel&featuresMode=enabled&scoringStatistics=global&api-version=2021-04-30-Preview
POST /indexes/hotels/docs/search?api-version=2021-04-30-Preview
    {  
      "search": "hotel",  
      "featuresMode": "enabled",
      "scoringStatistics" :"global"
    }  

Ett exempel på ett svar som innehåller search.features ser ut ungefär så här:

    "@search.score": 0.91875637,
    "@search.features": {
        "Description": {
            "uniqueTokenMatches": 1,
            "similarityScore": 0.2917966,
            "termFrequency": 2
        },
        "HotelName": {
            "uniqueTokenMatches": 1,
            "similarityScore": 0.44458693,
            "termFrequency": 1
        }
      . . .

Definitioner

Det här avsnittet innehåller information om parametrar som är för komplexa att ta upp i huvudtabellen.

Länk Beskrivning
queryLanguage Lista över språk som stöds för stavning och semantisk sökning.

queryLanguage

Giltiga värden för parametern queryLanguage finns i följande tabell i kolumnen "queryLanguage" och är inte skiftlägeskänsliga. Standardvärdet för parametern som helhet är "en-us". Inom varje språk finns det en standardvariant för varje språkkod med två tecken. Om du till exempel anger "es" används "es-us" som standard. Parametern queryLanguage krävs för en frågebegäran som innehåller "queryType=semantic" eller "speller=lexicon". Det finns bara ett queryLanguage-värde för hela begäran, och det värdet används för semantisk rangordning, bildtexter, svar och stavningsprogram (det finns ingen åsidosättning för enskilda funktioner).

För närvarande varierar språkstöd beroende på funktion. Endast engelska, spanska, franska och tyska stöds för hela uppsättningen funktioner, men observera att stavningskontroll implementerar färre varianter.

Om du anger en språkkod som inte stöds av en viss funktion, till exempel EN-GB med stavningsfunktionen, returnerar tjänsten HTTP 400.

Mer information om hur du använder varje funktion finns i Aktivera semantisk rangordning och undertexter, Returnera ett semantiskt svaroch Lägg till stavningskontroll i frågor.

Beteckningen "(preview)" anger att valideringstestning för alla funktioner (semantisk rangordning, bildtexter, svar och stavningskontroll) antingen pågår eller väntar. Vi rekommenderar att du använder alla språkvarianter i följande tabell, men rekommenderar fler tester av förhandsversionsspråk för att säkerställa att resultatet är giltigt för ditt innehåll. Språk med en bockmarkering och ingen förhandsgranskningsbeteckning har verifierats med motsvarande datauppsättningar, med mätbar relevans.

Språk queryLanguage Semantisk ranker och bildtexter Semantiskt svar Speller
Engelska [en] en, en-US (standard), en-GB, en-IN, en-CA, en-AU ✔️ ✔️ ✔️ (en, en-US)
Franska [fr] fr, fr-FR (standard) fr-CA ✔️ ✔️ ✔️ (fr, fr-FR)
Tyska [de] de, de-DE (standard) ✔️ ✔️ ✔️ (de, de-DE)
Spanska [es] es, es-ES (standard) es-MX ✔️ ✔️ ✔️ (es, es-ES)
Italienska [it] it, it-IT (standard) ✔️ ✔️
Japanska [ja] ja, ja-JP (standard) ✔️ ✔️ (förhandsversion)
Kinesiska [zh] zh, zh-CN (standard) zh-TW ✔️ ✔️ (förhandsversion)
Portugisiska [pt] pt, pt-BR (standard) pt-PT ✔️ ✔️ (förhandsversion)
Nederländska [nl] nl, nl-BE, nl-NL (standard) ✔️ (förhandsversion) ✔️ (förhandsversion) ✔️ (nl, nl-NL)
Arabiska [ar] ar, ar-SA (standard) ar-EG, ar-MA, ar-KW, ar-JO ✔️ (förhandsversion) ✔️ (förhandsversion)
Armeniska hy-AM (standard) ✔️ (förhandsversion) ✔️ (förhandsversion)
Bangla bn-IN (standard) ✔️ (förhandsversion) ✔️ (förhandsversion)
Baskiska eu-ES (standard) ✔️ (förhandsversion) ✔️ (förhandsversion)
Bulgariska [bg] bg, bg-BG (standard) ✔️ (förhandsversion) ✔️ (förhandsversion)
Katalanska [ca] ca, ca-ES (standard) ✔️ (förhandsversion) ✔️ (förhandsversion)
Kroatiska [hr] hr, hr-HR (standard) hr-BA ✔️ (förhandsversion) ✔️ (förhandsversion)
Tjeckiska [cs] cs, cs-CZ (standard) ✔️ (förhandsversion) ✔️ (förhandsversion)
Danska [da] da, da-DK (standard) ✔️ (förhandsversion) ✔️ (förhandsversion)
Estniska [et] et, et-EE (standard) ✔️ (förhandsversion) ✔️ (förhandsversion)
Finska [fi] fi, fi-FI (standard) ✔️ (förhandsversion) ✔️ (förhandsversion)
Galiciska gl-ES (standard) ✔️ (förhandsversion) ✔️ (förhandsversion)
Grekiska [el] el, el-GR (standard) ✔️ (förhandsversion) ✔️ (förhandsversion)
Gujarati gu-IN (standard) ✔️ (förhandsversion) ✔️ (förhandsversion)
Hebreiska he-IL (standard) ✔️ (förhandsversion) ✔️ (förhandsversion)
Hindi [hi] hi, hi-IN (standard) ✔️ (förhandsversion) ✔️ (förhandsversion)
Ungerska [hu] hu, hu-HU (standard) ✔️ (förhandsversion) ✔️ (förhandsversion)
Isländska [is] is, is-IS (standard) ✔️ (förhandsversion) ✔️ (förhandsversion)
Indonesiska [id] id, id-ID (standard) ✔️ (förhandsversion) ✔️ (förhandsversion)
Irländska ga-IE (standard) ✔️ (förhandsversion) ✔️ (förhandsversion)
Kannada kn-IN (standard) ✔️ (förhandsversion) ✔️ (förhandsversion)
Koreanska [ko] ko, ko-KR (standard) ✔️ (förhandsversion) ✔️ (förhandsversion)
Lettiska [lv] lv, lv-LV (standard) ✔️ (förhandsversion) ✔️ (förhandsversion)
Litauiska [lt] lt, lt-LT (standard) ✔️ (förhandsversion) ✔️ (förhandsversion)
Malayalam ml-IN (standard) ✔️ (förhandsversion) ✔️ (förhandsversion)
Malaysiska [ms] ms, ms-MY (standard) ms-BN ✔️ (förhandsversion) ✔️ (förhandsversion)
Marathi mr-IN (standard) ✔️ (förhandsversion) ✔️ (förhandsversion)
Norska [no] nej, no-NO (standard), nb-NO ✔️ (förhandsversion) ✔️ (förhandsversion)
Persiska fa-AE (standard) ✔️ (förhandsversion) ✔️ (förhandsversion)
Polska [pl] pl, pl-PL (standard) ✔️ (förhandsversion) ✔️ (förhandsversion)
Punjabi pa-IN (standard) ✔️ (förhandsversion) ✔️ (förhandsversion)
Rumänska [ro] ro, ro-RO (standard) ✔️ (förhandsversion) ✔️ (förhandsversion)
Ryska [ru] ru, ru-RU (standard) ✔️ (förhandsversion) ✔️ (förhandsversion)
Serbiska [sr] (kyrillisk eller latinsk) sr, sr-BA (standard) sr-ME, sr-RS ✔️ (förhandsversion) ✔️ (förhandsversion)
Slovakiska [sk] sk, sk-SK (standard) ✔️ (förhandsversion) ✔️ (förhandsversion)
Slovenska [sl] sl, sl-SL (standard) ✔️ (förhandsversion) ✔️ (förhandsversion)
Tamil [ta] ta, ta-IN (standard) ✔️ (förhandsversion) ✔️ (förhandsversion)
Svenska [sv] sv, sv-SE (standard) ✔️ (förhandsversion) ✔️ (förhandsversion)
Telugu te-IN (standard) ✔️ (förhandsversion) ✔️ (förhandsversion)
Thai [th] th, th-TH (standard) ✔️ (förhandsversion) ✔️ (förhandsversion)
Turkiska [tr] tr, tr-TR (standard) ✔️ (förhandsversion) ✔️ (förhandsversion)
Ukrainska [uk] uk, uk-UA (standard) ✔️ (förhandsversion) ✔️ (förhandsversion)
Urdu ur-PK (standard) ✔️ (förhandsversion) ✔️ (förhandsversion)
Vietnamesiska [va] va, vi-VN (standard) ✔️ (förhandsversion) ✔️ (förhandsversion)

Se även