Sdílet prostřednictvím


Prohledat dokumenty (Preview REST API)

platí pro: 2023-07-01-Preview. Tato verze se už nepodporuje. okamžitě upgradovat na novější verzi.

Důležitý

2023-07-01-Preview přidává:

  • vektory parametr dotazu určující požadavky vektorových dotazů. Každý objekt by měl obsahovat vektorové znázornění dotazu, "k" počet nejbližších sousedů, které se mají vrátit ve výsledcích, a vektorová pole, která se mají použít během provádění dotazu.

2021-04-30-Preview přidává:

  • "sémanticConfiguration" podporuje určování rozsahu sémantického řazení na konkrétní pole.
  • "titulky" vrátí fráze extrahované z klíčových pasáží v nejvyšších sémanticky seřazených dokumentech.

2020-06-30-Preview přidává:

  • "queryType=sémantic" podporuje sémantické reranking a odpovědi.
  • "searchFields" v sémantickém dotazu vytvoří pořadí priority polí používaných k formulaci titulků a odpovědí. Tento přístup byl nahrazen "sémanticConfiguration" v roce 2021-04-30-Preview a je nyní zastaralý.
  • "speller" umožňuje opravu pravopisu při zadávání dotazu.
  • "queryLanguage" se vyžaduje pro "queryType=sémantic" i "speller".
  • "featuresMode" rozbalí skóre hledání, hlásí četnost termínů podle pole, skóre podobnosti jednotlivých polí a počet jedinečných shod.

Požadavek dotazu cílí na kolekci dokumentů jednoho indexu ve vyhledávací službě. Obsahuje parametry definující kritéria shody a parametry, které tvaruje odpověď. Můžete také použít alias indexu cílit na konkrétní index místo samotného názvu indexu.

Pro většinu dotazů můžete použít get nebo POST, ale pro vektorové vyhledávání je nutné použít POST, protože parametry vektorového dotazu se nevejdou do identifikátoru URI. parametry dotazu jsou zadány v řetězci dotazu pro požadavky GET a v textu požadavku pro požadavky POST.

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

Pokud používáte POST, přidejte akci "search" jako parametr identifikátoru URI.

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]  

Při volání pomocí metody GET nesmí délka adresy URL požadavku překročit 8 kB. Tato délka je dostatečná pro většinu aplikací. Některé aplikace ale vytvářejí velké dotazy, konkrétně při použití výrazů filtru OData. Pro tyto aplikace je http POST lepší volbou, protože umožňuje větší filtry než GET.

U post je počet klauzulí ve filtru limitačním faktorem, nikoli velikost nezpracovaného řetězce filtru, protože limit velikosti požadavku pro POST je přibližně 16 MB. I když je limit velikosti požadavku POST velký, výrazy filtru nemůžou být libovolně složité. Další informace o omezení složitosti filtru najdete v tématu Syntaxe výrazů OData proAzure AI Search .

Parametry identifikátoru URI

Parametr Popis
název služby Požadovaný. Nastavte tento název na jedinečný uživatelsky definovaný název vyhledávací služby.
název indexu / dokumentace Požadovaný. Určuje kolekci dokumentů pojmenovaného indexu. Název aliasu indexu lze také použít místo názvu indexu.
parametry dotazu Parametry dotazu se zadají na identifikátoru URI pro požadavky GET a v textu požadavku pro požadavky POST.
api-version Požadovaný. Další verze najdete v verzích rozhraní API.

Doporučení pro kódování adres URL

Při přímém volání rozhraní GET REST API nezapomeňte kódovat adresy URL konkrétní parametry dotazu. V případě operace hledání dokumentů může být kódování adresy URL nezbytné pro následující parametry dotazu:

  • hledání
  • $filter
  • faseta
  • highlightPreTag
  • highlightPostTag

Kódování adresy URL se doporučuje jenom pro jednotlivé parametry. Pokud neúmyslně zakódujete celý řetězec dotazu (vše po ?), požadavky se přeruší.

Kódování adresy URL je také nezbytné pouze při přímém volání rozhraní REST API pomocí get. Při použití post nebo při použití klientské knihovny .NET služby Azure AI Searchnení nutné žádné kódování ADRESY URL, které za vás zpracovává kódování.

Hlavičky požadavku

Následující tabulka popisuje povinnou a volitelnou hlavičku požadavku.

Pole Popis
Typ obsahu Požadovaný. Nastavte tuto hodnotu na application/json.
api-key Volitelné, pokud používáte role Azure a v požadavku je k dispozici nosný token, jinak se vyžaduje klíč. Api-key je jedinečný systémový vygenerovaný řetězec, který ověřuje požadavek ve vaší vyhledávací službě. Požadavky na dotazy na kolekci dokumentů můžou jako klíč rozhraní API zadat klíč správce nebo klíč dotazu. Klíč dotazu se používá pro operace jen pro čtení v kolekci dokumentů. Podrobnosti najdete v tématu Připojení k Azure AI Search pomocí ověřování klíčů.

Text požadavku

Pro GET: Žádné.

Pro 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"
      }
     ]
   }  

pokračování částečných odpovědí hledání

Azure AI Search někdy nemůže vrátit všechny požadované výsledky v jedné odpovědi hledání. Částečná odpověď může nastat z různých důvodů, například když dotaz vrátí příliš mnoho dokumentů tak, že nezadáte $top nebo zadáte hodnotu pro $top, která je příliš velká. V takových případech Azure AI Search obsahuje @odata.nextLink poznámku v textu odpovědi a také @search.nextPageParameters, pokud se jednalo o požadavek POST. Pomocí hodnot těchto poznámek můžete formulovat další požadavek hledání, který získá další část odpovědi hledání. Toto chování se nazývá pokračování původního požadavku hledání a poznámky se nazývají tokeny pokračování. Podrobnosti o syntaxi těchto poznámek a jejich zobrazení v textu odpovědi najdete v příkladu v části Odpovědi.

Důvody, proč azure AI Search může vracet tokeny pokračování, jsou specifické pro implementaci a můžou se změnit. Robustní klienti by měli být vždy připravení na zpracování případů, kdy se vrátí méně dokumentů, než se čekalo, a token pokračování je součástí dalšího načítání dokumentů. Nezapomeňte také, že pokud chcete pokračovat, musíte použít stejnou metodu HTTP jako původní požadavek. Pokud jste například odeslali požadavek GET, všechny požadavky na pokračování, které odešlete, musí také použít get (a podobně pro POST).

Poznámka

Účelem @odata.nextLink a @search.nextPageParameters je chránit službu před dotazy, které požadují příliš mnoho výsledků, a neposkytuje obecný mechanismus pro stránkování. Pokud chcete procházet výsledky, použijte $top a $skip společně. Pokud chcete mít například stránky o velikosti 10, měl by mít první požadavek $top=10 a $skip=0, druhý požadavek by měl mít $top=10 a $skip=10, třetí požadavek by měl mít $top=10 a $skip=20 atd.

Parametry dotazu

Dotaz přijímá několik parametrů na adrese URL při volání pomocí příkazu GET a jako vlastnosti JSON v textu požadavku při volání pomocí příkazu POST. Syntaxe některých parametrů se mezi funkcí GET a POST mírně liší. Tyto rozdíly jsou uvedeny v následující tabulce.

Jméno Typ Popis
answers (Preview) řetězec Volitelný. Platné hodnoty jsou none a extractive. Výchozí hodnota je žádná. Tento parametr je platný pouze v případě, že je typ dotazu "sémantický". Při nastavení na "extrakci" dotaz formuluje a vrací odpovědi z klíčových pasáží v nejvyšších sémanticky seřazených dokumentech. Výchozí hodnota je jedna odpověď, ale můžete zadat až 10 přidáním počtu. Například "answers": "extractive|count-3" vrátí tři odpovědi. Aby se odpověď vrátila, musí být v cílovém poli doslovný obsah, který vypadá jako odpověď. Jazykové modely používané pro odpovědi jsou natrénované tak, aby rozpoznávaly odpovědi, negenerovaly je. Kromě toho samotný dotaz musí vypadat jako otázka.
api-version řetězec Požadovaný. Verze rozhraní REST API, která se používá pro požadavek Seznam podporovaných verzí najdete v tématu verze rozhraní API. Pro tuto operaci je verze api-version určena jako parametr identifikátoru URI bez ohledu na to, jestli voláte prohledat dokumenty pomocí metody GET nebo POST.
titulky (Preview) řetězec Volitelný. Platné hodnoty jsou none a extractive. Výchozí hodnota je žádná. Tento parametr je platný pouze v případě, že je typ dotazu "sémantický". Pokud je nastavená hodnota "extractive", dotaz vrátí titulky extrahované z klíčových pasáží v nejřadivějších dokumentech. Pokud jsou titulky nastaveny na "extractive", zvýraznění je ve výchozím nastavení povolené a lze ho nakonfigurovat tak, že připojíte znak svislé roury | následovaný možností zvýraznění –<true nebo false>, například extractive|highlight-true.
$count booleovský Volitelný. Platné hodnoty jsou true nebo false. Výchozí hodnota je false. Při zavolání pomocí post má tento parametr název count místo $count. Určuje, jestli se má načíst celkový počet výsledků. Tato hodnota je počet všech dokumentů, které odpovídají parametrům hledání a $filter, a ignoruje $top a $skip. Nastavení této hodnoty na true může snížit výkon. Početjech Pokud chcete získat pouze počet bez jakýchkoli dokumentů, můžete použít $top=0.
fasety nebo omezující vlastnosti řetězec Volitelný. Pole, podle kterého je pole přiřazeno jako "facetable". Při zavolání pomocí funkce GET je facet pole (facet: field1). Při zavolání pomocí příkazu POST se tento parametr nazývá facets místo facet a je zadaný jako pole (facets: [field1, field2, field3]). Řetězec může obsahovat parametry pro přizpůsobení omezující vlastnosti vyjádřené jako dvojice název-hodnota oddělených čárkami.

Platné hodnoty jsou "count", "sort", "values", "interval" a "timeoffset".

"count" je maximální počet omezujících vlastností; výchozí hodnota je 10. Počet termínů není nijak omezený, ale vyšší hodnoty snižují výkon, zejména pokud omezující vlastnost pole obsahuje velký počet jedinečných termínů. Například "facet=category,count:5" získá prvních pět kategorií ve výsledcích omezující vlastnosti. Pokud je parametr count menší než počet jedinečných termínů, nemusí být výsledky přesné. Důvodem je způsob distribuce fasetových dotazů napříč horizontálními oddíly. Pokud chcete získat přesný počet napříč všemi horizontálními oddíly, můžete nastavit počet na nulu nebo na hodnotu, která je větší nebo rovna počtu jedinečných hodnot v poli s tabulkou. Kompromis je zvýšená latence.

"sort" lze nastavit na "count", "-count", "value", "-value". Pomocí funkce Count můžete seřadit sestupně podle počtu. Pomocí -count můžete řadit vzestupně podle počtu. Pomocí hodnoty můžete řadit vzestupně podle hodnoty. Pomocí -value seřadíte sestupně podle hodnoty (například "facet=category;count:3;sort:count" získá první tři kategorie v omezující vlastnosti sestupně podle počtu dokumentů s názvy jednotlivých měst). Pokud jsou první tři kategorie Budget, Motel a Luxury a Budget má pět hitů, Motel má šest a Luxury má čtyři, pak kbelíky jsou v pořadí Motel, Budget, Luxury. Pro -value "facet=rating,sort:-value" vytváří kontejnery pro všechna možná hodnocení v sestupném pořadí podle hodnoty (například pokud jsou hodnocení od 1 do 5, jsou kontejnery seřazeny 5, 4, 3, 2, 1 bez ohledu na počet dokumentů odpovídá jednotlivým hodnocením).

"values" (hodnoty) lze nastavit na numerické hodnoty s oddělovači nebo hodnoty Edm.DateTimeOffset určující dynamickou sadu hodnot omezujících vlastností (například "facet=baseRate,values:10 | 20" vytvoří tři kbelíky: jeden pro základní sazbu 0 až do 10, jeden pro 10 až do 20 a vyšší). Řetězec "facet=lastRenovationDate,values:2010-02-01T00:00:00Z" vytvoří dva kbelíky: jeden pro hotely rekonstruované před únorem 2010 a jeden pro hotely rekonstruované 1. února 2010 nebo novější. Hodnoty musí být uvedeny v sekvenčním vzestupném pořadí, aby se získaly očekávané výsledky.

"interval" je celočíselná hodnota větší než 0 pro čísla, minutu, hodinu, den, týden, měsíc, čtvrtletí, rok pro hodnoty data a času. Například "facet=baseRate,interval:100" vytváří kontejnery na základě rozsahů základních sazeb velikosti 100. Pokud jsou základní sazby mezi 60 a 600 USD, budou existovat kbelíky pro 0–100, 100-200, 200-300, 300-400, 400-500 a 500-600. Řetězec "facet=lastRenovationDate,interval:year" vytvoří jeden kbelík pro každý rok, kdy byly hotely rekonstruovány.

"timeoffset" lze nastavit na ([+-]hh:mm, [+-]hhmm nebo [+-]hh). Pokud se použije, parametr timeoffset se musí kombinovat s parametrem intervalu a pouze při použití u pole typu Edm.DateTimeOffset. Hodnota určuje časový posun UTC tak, aby se zohlednil při nastavování časových hranic. Příklad: "facet=lastRenovationDate,interval:day,timeoffset:-01:00" používá hranici dne, která začíná v 01:00:00 UTC (půlnoc v cílovém časovém pásmu).

počet a řazení se dají kombinovat ve stejné specifikaci omezující vlastnosti, ale nedají se kombinovat s intervalem nebo hodnotami a interval a hodnoty se nedají kombinovat.

Omezující vlastnosti intervalu k datu se počítají na základě času UTC, pokud není zadaný časový posun. Například: pro "facet=lastRenovationDate,interval:day", hranice dne začíná v 00:00:00 UTC.
featuresMode (Preview) booleovský Volitelný. Platné hodnoty jsou povolené a zakázané. Výchozí hodnota je zakázaná. Hodnota, která určuje, jestli mají výsledky obsahovat funkce výsledků dotazu, které slouží k výpočtu skóre relevance dokumentu vzhledem k dotazu, například podle podobnosti polí. Pokud chcete zpřístupnit více funkcí výsledků dotazu, použijte možnost Povolit: skóre podobnosti polí, četnost termínů polí a počet odpovídajících jedinečných tokenů. Další informace naleznete v tématu podobnosti a bodování.
$filter řetězec Volitelný. Strukturovaný vyhledávací výraz ve standardní syntaxi OData. Ve filtru lze použít pouze filtrovatelná pole. Při zavolání pomocí post má tento parametr název filtr místo $filter. Podrobnosti o podmnožině gramatiky výrazů OData podporované službou Azure AI Search najdete v tématu Syntaxe výrazů OData pro Azure AI Search.
zvýraznit řetězec Volitelný. Sada názvů polí oddělených čárkami, které se používají pro zvýraznění hitů. Ke zvýraznění hitů se dají použít jenom prohledávatelná pole. Ve výchozím nastavení azure AI Search vrátí až pět zvýraznění na pole. Limit je možné konfigurovat pro každé pole tak, že za názvem pole přidáte "-<maximální počet zvýrazněných>". Například "highlight=title-3,description-10" vrátí až tři zvýrazněné hity z pole nadpisu a až 10 hitů z pole popisu. Maximální počet zvýraznění musí být celé číslo od 1 do 1 000 včetně.
highlightPostTag řetězec Volitelný. Výchozí hodnota je "</em>". Značka řetězce, která se připojí ke zvýrazněného termínu. Je nutné nastavit zvýrazněníPreTag. Rezervované znaky v adrese URL musí být zakódované v procentech (například %23 místo #).
highlightPreTag řetězec Volitelný. Výchozí hodnota je "</em>". Značka řetězce, která se předzálohuje na zvýrazněný termín. Musí být nastavena značka highlightPostTag. Rezervované znaky v adrese URL musí být zakódované v procentech (například %23 místo #).
minimumCoverage celé číslo Volitelný. Platné hodnoty jsou číslo od 0 do 100, což označuje procento indexu, které musí být k dispozici pro zpracování dotazu, aby bylo možné ho ohlásit jako úspěch. Výchozí hodnota je 100.

10% pokrytí znamená, že všechny horizontální oddíly odpověděly na žádost (problémy se stavem služby ani aktivity údržby snížily pokrytí). V rámci výchozího nastavení vrátí méně než úplné pokrytí stavový kód HTTP 503.

Snížení minimální konfigurace může být užitečné, pokud dochází k chybám 503 a chcete zvýšit pravděpodobnost úspěchu dotazu, zejména pro služby nakonfigurované pro jednu repliku. Pokud nastavíte minimumCoverage a Hledání proběhne úspěšně, vrátí hodnotu HTTP 200 a do odpovědi zahrne hodnotu @search.coverage označující procento indexu, který byl zahrnut v dotazu. V tomto scénáři není zaručeno, že ve výsledcích hledání budou přítomny všechny odpovídající dokumenty, ale pokud je dostupnost vyhledávání důležitější než úplnost, může být snížení pokrytí realizovatelnou strategií pro zmírnění rizik.
$orderby řetězec Volitelný. Seznam výrazů oddělených čárkami pro seřazení výsledků. Při zavolání pomocí příkazu POST se tento parametr jmenuje orderby místo $orderby. Každý výraz může být buď název pole, nebo volání funkce geo.distance(). Za každým výrazem může následovat "asc" označující vzestupně a "desc" označující sestupně. Pokud pole řazení obsahuje hodnoty null, zobrazí se hodnoty null jako první ve vzestupném pořadí a poslední v sestupném pořadí. Výchozí hodnota je vzestupné pořadí. Vazby budou přerušeny skóre shody dokumentů. Pokud není zadán žádný $orderby, výchozí pořadí řazení je sestupné podle skóre shody dokumentu. Pro $orderby existuje limit 32 klauzulí.
queryLanguage (Preview) řetězec Volitelný. Platné hodnoty jsou podporovaný jazyk. Výchozí hodnota jeen-us" (Výchozí hodnota jeen-us). Tento parametr musí být nastaven, pokud používáte speller=lexicon nebo queryType=sémantic. Jazyk zadaný v dotazuLanguage se používá pro kontrolu pravopisu a sémantické modely, které přeřadí výsledky a extrahují titulek nebo odpověď. Knihovny používané pro dotazLanguage jsou nezávislé na dalších atributech polí založených na národním prostředí, jako jsou analyzátory jazyka používané pro indexování a fulltextové vyhledávání.
queryType řetězec Volitelný. Platné hodnoty jsou "simple", "full" nebo "sémantic" (Preview). Výchozí hodnota je "jednoduchá". Tato hodnota je ignorována pro vektorové vyhledávání, ale vztahuje se na vyhledávání textu v hybridních scénářích.

"simple" interpretuje řetězce dotazu pomocí jednoduché syntaxe dotazu, která umožňuje symboly, jako jsou +, *a "". Dotazy se ve výchozím nastavení vyhodnocují ve všech prohledávatelných polích (nebo polích uvedených v polích searchField).

"full" interpretuje řetězce dotazu pomocí úplné syntaxe dotazu Lucene, která umožňuje hledání specifické pro pole a vážené vyhledávání. Vyhledávání v rozsahu v dotazovacím jazyce Lucene není podporováno ve prospěch $filter, které nabízí podobné funkce.

"sémantický" zlepšuje přesnost výsledků hledání tím, že pomocí modelu řazení natrénovaného na korpusu Bingu pro dotazy vyjádřené v přirozeném jazyce na rozdíl od klíčových slov přeřazuje top 50 shod. Pokud nastavíte typ dotazu na sémantickou, musíte také nastavit queryLanguage a sémanticConfiguration. Volitelně můžete nastavit odpovědi, pokud chcete vrátit také prvních 3 odpovědi, pokud byl vstup dotazu formulován v přirozeném jazyce ("what is a ...) a volitelně můžete nastavit titulky pro extrakci klíčových pasáží z nejvyšších seřazených dokumentů.
bodováníParameter řetězec Volitelný. Určuje hodnoty pro každý parametr definovaný ve funkci bodování (například referencePointParameter) ve formátu name-value1,value2,.... Při zavolání pomocí post má tento parametr název bodováníParameters místo bodováníParameter. Zadáte ho také jako pole JSON řetězců, kde je každý řetězec samostatný pár name-values.

Pro bodovací profily, které obsahují funkci, oddělte funkci od jejího vstupního seznamu - znakem. Například funkce s názvem "mylocation" by byla "&bodováníParameter=mylocation--122,2,44,8". První pomlčka odděluje název funkce ze seznamu hodnot, zatímco druhá pomlčka je součástí první hodnoty (zeměpisná délka v tomto příkladu).

Pro parametry bodování, například pro zvýšení značek, které můžou obsahovat čárky, můžete pomocí jednoduchých uvozovek uvozovat. Pokud samotné hodnoty obsahují jednoduché uvozovky, můžete je uvozit tak, že je zdvojnásobíte. Předpokládejme, že máte parametr zvýšení značky s názvem "mytag" a chcete zvýšit hodnoty značek "Hello, O'Brien" a "Smith", možnost řetězce dotazu by pak byla "&bodováníParameter=mytag-'Hello, O'Brien',Smith". U uvozovek se vyžadují jenom pro hodnoty, které obsahují čárky.
bodováníProfile řetězec Volitelný. Název bodujícího profilu, který má vyhodnotit skóre shody pro odpovídající dokumenty, aby se výsledky seřadily.
bodováníStatistika řetězec Volitelný. Platné hodnoty jsou "local" nebo "global". Výchozí hodnota je místní. Určete, jestli se mají vypočítat statistiky vyhodnocování, například četnost dokumentů, globálně (napříč všemi horizontálními oddíly) pro konzistentnější bodování nebo místně (v aktuálním horizontálním oddílu) pro nižší latenci. Viz statistiky bodování ve službě Azure AI Search. Statistiky vyhodnocování se vždy počítají místně pro termíny, které používají přibližné vyhledávání ('~').
hledání řetězec Volitelný. Text, který chcete vyhledat. Tato hodnota je ignorována pro vektorové vyhledávání, ale vztahuje se na vyhledávání textu v hybridních scénářích. V rozhraníCH REST API se ve výchozím nastavení prohledávají všechna prohledávatelná pole, pokud není zadáno pole searchFields. V indexu je text v prohledávatelném poli tokenizován, takže více termínů může být odděleno prázdným místem (například "search=hello world"). Ke spárování libovolného termínu použijte * (to může být užitečné pro logické dotazy filtru). Vynechání tohoto parametru má stejný účinek jako nastavení na *. Konkrétní informace o syntaxi hledání najdete v syntaxi jednoduchého dotazu.

Výsledky můžou být někdy překvapivý při dotazování na prohledávatelná pole. Tokenizátor obsahuje logiku pro zpracování případů běžných s anglickým textem, jako jsou apostrofy, čárky v číslech atd. Například "search=123,456" se bude shodovat s jedním termínem 123 456 místo jednotlivých termínů 123 a 456, protože čárky se používají jako oddělovače tisíců pro velká čísla v angličtině. Z tohoto důvodu doporučujeme místo interpunkce používat prázdné znaky k oddělení termínů v parametru vyhledávání.
searchMode řetězec Volitelný. Platné hodnoty jsou "any" nebo "all" Defaults "any". Určuje, jestli se musí některé nebo všechny hledané termíny shodovat, aby se dokument spočítal jako shoda.
searchFields řetězec Volitelný. Seznam názvů polí oddělených čárkami pro vyhledání zadaného textu. Cílová pole musí být ve schématu indexu označena jako prohledávatelná a musí mít typ Edm.String, Edm.ComplexTypenebo Collection(Edm.String).
$select řetězec Volitelný. Seznam polí oddělených čárkami, která se mají zahrnout do sady výsledků. V této klauzuli lze zahrnout pouze pole označená jako načítaná. Pokud není zadáno nebo nastaveno na *, jsou do projekce zahrnuta všechna pole označená jako zobrazitelná ve schématu. Při zavolání pomocí příkazu POST se tento parametr jmenuje select místo $select.
sémanticConfiguration (Preview) řetězec Volitelný. Vyžaduje se, pokud queryType="sémantic". Název sémantické konfigurace, která obsahuje seznam polí, která se mají použít pro sémantické řazení, titulky, zvýraznění a odpovědi. Další informace najdete v tématu Vytvoření sémantického dotazu.
sessionId řetězec Volitelný. Použití sessionId pomáhá zlepšit konzistenci skóre relevance pro vyhledávací služby s více replikami. V konfiguracích s více replikami můžou existovat mírné rozdíly mezi skóre relevance jednotlivých dokumentů pro stejný dotaz. Pokud je k dispozici ID relace, služba se snaží směrovat danou žádost na stejnou repliku pro danou relaci. Buďte opatrní, že opakované použití stejných hodnot ID relace může narušit vyrovnávání zatížení požadavků napříč replikami a nepříznivě ovlivnit výkon vyhledávací služby. Hodnota použitá jako sessionId nemůže začínat znakem _. Pokud služba nemá žádné repliky, nemá tento parametr žádný vliv na konzistenci výkonu nebo skóre.
$skip celé číslo Volitelný. Počet výsledků hledání, které chcete přeskočit. Při zavolání pomocí funkce POST se tento parametr místo $skip jmenuje přeskočit. Tato hodnota nemůže být větší než 100 000. Pokud potřebujete skenovat dokumenty v sekvenci, ale nemůžete použít $skip kvůli tomuto omezení, zvažte použití $orderby u pole, které má jedinečné hodnoty pro každý dokument v indexu (například klíč dokumentu) a $filter místo toho s dotazem na rozsah.
speller (Preview) Řetězec Volitelný. Platné hodnoty jsou none a lexicon. Výchozí hodnota je žádná. Vylepšete úplnost tím, že opravíte jednotlivé hledané termíny. Můžete ho použít pro jednoduché, úplné a sémantické typy dotazů. Pokud se používá, parametr kontroly pravopisu vyžaduje dotazLanguage. Další informace a příklady najdete v tématu Přidání kontroly pravopisu do dotazů.
$top celé číslo Volitelný. Počet výsledků hledání, které se mají načíst. Výchozí hodnota je 50. Při zavolání pomocí post má tento parametr název místo $top. Pokud zadáte hodnotu větší než 1 000 a zobrazí se více než 1 000 výsledků, vrátí se pouze prvních 1000 výsledků spolu s odkazem na další stránku výsledků (viz "@odata.nextLink" v následujícím příkladu). Azure AI Search používá stránkovací na straně serveru , aby se zabránilo načítání příliš mnoha dokumentů najednou. Výchozí velikost stránky je 50, zatímco maximální velikost stránky je 1 000. To znamená, že ve výchozím nastavení hledání dokumentů vrátí maximálně 50 výsledků, pokud nezadáte $top. Pokud je více než 50 výsledků, odpověď obsahuje informace o načtení další stránky maximálně 50 výsledků (viz "@odata.nextLink" a "@search.nextPageParameters" v Příklady níže. Podobně pokud zadáte hodnotu větší než 1000 pro $top a existuje více než 1000 výsledků, vrátí se pouze prvních 1 000 výsledků spolu s informacemi o načtení další stránky maximálně 1 000 výsledků.
vektory (Preview) pole Volitelný. Typ objektu v poli je vektorový dotaz. Parametry dotazu pro vektorové dotazy.

"value" je vektorové znázornění vyhledávacího dotazu. Tato reprezentace musí být vytvořena externě. Azure AI Search nevytváří vkládání.

"k" je celé číslo určující počet nejbližších sousedů, které se mají vrátit jako horní hity. Výchozí hodnota je 50. Minimum je 1 a maximum je 10 000.

"fields" je názvy polí seznamu oddělených čárkami obsahující vektorová data. Do seznamu "pole" lze zahrnout pouze pole typu Collection(Edm.Single).

Odpověď

Stavový kód: 200 OK se vrátí pro úspěšnou odpověď. V tomto článku jsou dvě ukázkové odpovědi, jedna pro sémantické vyhledávání a funkceMode.

Ukázková odpověď pro sémantický dotaz

První příklad ukazuje úplnou odpověď pro nejúplnější výsledek sémantického dotazu "how do clouds form".

  • Když zadáte parametr odpovědi, zobrazí se "@search.answers" a když dotaz a cílová pole v indexu obsahují obsah, který lze rozpoznat jako odpověď. Pole @search.answers obsahující klíč, text a zvýraznění. Skóre je indikátorem síly odpovědi.

  • "value" je tělo odpovědi. @search.rerankerScore přiřadí sémantický algoritmus řazení a používá se k řazení výsledků (@search.score je z algoritmu podobnosti BM25, který se používá při vyhodnocování počátečních výsledků). Titulky obsahují prostý text a zvýrazněné verze. Tento příklad byl vytvořen pomocí OCR a dovedností rozpoznávání entit. Do odpovědi se zahrnou pole pro extrahovaný a sloučený obsah.

{
    "@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": []
        }
    ]
}

Ukázková odpověď pro featuresMode

Tento příklad ukazuje výstup "@search.features" z dotazu, který obsahuje 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)
  }

Příklady

Další příklady najdete v syntaxi výrazů OData pro službu Azure AI Search.

Příklad : jednoduché vyhledávání

Vyhledejte dokumenty v indexu pomocí jednoduché syntaxe dotazu. Tento dotaz vrátí hotely, kde prohledávatelná pole obsahují termíny "comfort" a "location", ale ne "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"  
    }  

Spropitné

Použití searchMode=all přepíše výchozí hodnotu searchMode=any, čímž zajistí, že -motel znamená "A NE" místo "NEBO NE". Bez searchMode=allzískáte "NEBO NOT", který se rozbalí místo omezení výsledků hledání, a to může být pro některé uživatele protiintuitivní.

Příklad : úplné vyhledávání Lucene

Vyhledejte dokumenty v indexu pomocí syntaxe dotazů Lucene (viz syntaxe dotazů Lucene ve službě Azure AI Search). Tento dotaz vrátí hotely, ve kterých pole kategorie obsahuje termín "rozpočet" a všechna prohledávatelná pole obsahující frázi "nedávno renovovaná". Dokumenty obsahující frázi "nedávno renovované" jsou seřazeny vyšší v důsledku hodnoty zvýšení termínu (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"  
}  

Příklad : sémantické vyhledávání

Vyvolejte sémantický model řazení s odpověďmi, titulky a zvýrazněným obsahem. Odpověď pro tento dotaz najdete v předchozí části.

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"
}

Příklad : vektorové vyhledávání

Pro index s poli typu Collection(Edm.Single) a vektorovou konfigurací můžete zadat parametry vektorového dotazu. Parametry vektorového dotazu zahrnují vektorová pole, která jsou v oboru dotazu, počet "k" nejlepších přístupů, které se mají vrátit, a vektorové znázornění vstupu dotazu.

Přidání parametru select je užitečné, pokud index obsahuje textová pole. Porovnávání a relevance jsou založeny na vektorech, ale pole obsahující obsah čitelný pro člověka jsou užitečnější pro někoho, kdo výsledky čte. Případně můžete napsat kód, který převede vektorová data ve výsledcích hledání na 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"
}

Příklad : orderby

Prohledá index a vrátí výsledky seřazené podle data v sestupném pořadí.

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"
    }  

příklad : filtrování pomocí výrazu OData

Načtení dokumentů odpovídajících určitému výrazu filtru:

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'"  
    }  

Příklad : fasetové vyhledávání

Ve fasetovém vyhledávání vyhledejte index a načtěte omezující vlastnosti pro kategorie, hodnocení, značky a také položky se základní rychlostí v konkrétních rozsazích.

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" ]  
    }  

Všimněte si, že poslední omezující vlastnost je na dílčím poli. Facets spočítá nadřazený dokument (Hotely) a ne zprostředkující vnořené dokumenty (Místnosti), takže odpověď určí počet hotelů, které mají všechny místnosti v každém cenovém intervalu.

Příklad : Zužte omezující dotaz

Pomocí filtru zúžíte předchozí výsledek fasetového dotazu poté, co uživatel vybere Hodnocení 3 a kategorii 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'"  
    }  

příklad : fasetové vyhledávání s omezeními pro každou kategorii

Ve fasetovém vyhledávání nastavte horní limit jedinečných termínů vrácených v dotazu. Výchozí hodnota je 10, ale tuto hodnotu můžete zvýšit nebo snížit pomocí parametru count u atributu omezující vlastnosti. Tento příklad vrátí omezující vlastnosti pro město omezené na 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" ]  
    }  

Příklad : vyhledávací v poli

Prohledání indexu v konkrétních polích (například pole jazyka)

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"
    }  

Prohledá index napříč více poli. Můžete například ukládat a dotazovat prohledávatelná pole ve více jazycích, a to vše ve stejném indexu. Pokud v jednom dokumentu existují i popisy v angličtině a francouzštině, můžete vrátit jakékoli nebo všechny výsledky dotazu:

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"
    }  

Dotazovat se můžete jenom na jeden index najednou. Nevytvávejte pro každý jazyk více indexů, pokud neplánujete dotazovat po jednom.

Příklad : stránkování výsledků

Získání první stránky položek (velikost stránky je 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  
    }  

Získání druhé stránky položek (velikost stránky je 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  
    }  

Příklad: Omezení polí v sady výsledků

Načtení konkrétní sady polí:

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"
    }  

Příklad : Zvýraznění výsledků ve výsledcích

Vyhledejte index a vraťte fragmenty se zvýrazněnými výsledky:

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"  
    }  

Příklad : Geoprostorové vyhledávání

Prohledejte index a vracejte dokumenty seřazené od blíže k umístění odkazu:

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)')"
    }  

Příklad: "najít podle mě" (zvýšení relevance okolních umístění

Prohledejte index za předpokladu, že existuje profil bodování s názvem "geo" se dvěma funkcemi bodování vzdálenosti, jednou definující parametr s názvem "currentLocation" a druhý definující parametr s názvem "lastLocation". V následujícím příkladu má "currentLocation" oddělovač jednoho pomlčky (-). Následuje souřadnice zeměpisné délky a zeměpisné šířky, kde zeměpisná délka je záporná hodnota.

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" ]  
    }  

Příklad : Dotaz na úplný index místo horizontálních oddílů

Vyhledejte dokumenty v indexu a upřednostňujte konzistentní bodování oproti nižší latenci. Tento dotaz vypočítá četnost dokumentů v celém indexu a snaží se cílit na stejnou repliku pro všechny dotazy ve stejné relaci, což pomáhá generovat stabilní a reprodukovatelné hodnocení.

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"
    }  

příklad : bodovací statistika (featuresMode)

Najděte dokumenty v indexu a vrátí seznam funkcí načítání informací pro každý výsledek popisující bodování mezi odpovídajícím dokumentem a dotazem. Dotaz také vypočítá četnost dokumentů v celém indexu, aby se vytvořilo konzistentnější bodování.

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"
    }  

Příklad odpovědi, která obsahuje search.features vypadá podobně jako následující:

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

Definice

Tato část obsahuje podrobnosti o parametrech, které jsou příliš složité na pokrytí v hlavní tabulce.

Propojit Popis
dotazu Seznam podporovaných jazyků pro kontrolu pravopisu a sémantické vyhledávání

queryLanguage

Platné hodnoty parametru queryLanguage jsou uvedeny v následující tabulce ve sloupci queryLanguage a nerozlišují se malá a velká písmena. Výchozí hodnota parametru jako celku je "en-us". V každém jazyce existuje výchozí varianta pro každý dvouznakový kód jazyka. Pokud například zadáte "es", použije se ve výchozím nastaveníes-us. Parametr queryLanguage je vyžadován pro požadavek dotazu, který obsahuje "queryType=sémantic" nebo "speller=lexicon". Pro celý požadavek existuje jenom jedna hodnota queryLanguage a tato hodnota se použije pro sémantické řazení, titulky, odpovědi a kontrolu pravopisu (pro jednotlivé funkce neexistuje žádné přepsání).

V tuto chvíli se podpora jazyků liší podle funkce. Úplnou sadu funkcí podporuje pouze angličtina, španělština, francouzština a němčina, ale všimněte si, že kontrola pravopisu implementuje méně variant.

Pokud zadáte kód jazyka, který daná funkce nepodporuje, například EN-GB s pravopisem, vrátí služba http 400.

Další informace o používání jednotlivých funkcí najdete v tématu Povolení sémantického řazení a titulků, Vrácení sémantické odpovědia Přidání kontroly pravopisu do dotazů.

Označení "(Preview)" označuje, že ověřovací testování napříč všemi funkcemi (sémantické řazení, titulky, odpovědi a kontrola pravopisu) je probíhající nebo čekající. Doporučujeme používat všechny jazykové varianty v následující tabulce, ale doporučujeme používat další testování jazyků ve verzi Preview, abyste měli jistotu, že jsou výsledky pro váš obsah platné. Jazyky se značkou zaškrtnutí a bez označení náhledu byly ověřeny pomocí ekvivalentních datových sad s měřitelným získáním relevance.

Jazyk queryLanguage Sémantický ranker a titulky Sémantická odpověď Pravopisná kniha
Angličtina [en] en, en-US (výchozí), en-GB, en-IN, en-CA, en-AU ✔️ ✔️ ✔️ (en, en-US)
Francouzština [fr] fr, fr-FR (výchozí), fr-CA ✔️ ✔️ ✔️ (fr, fr-FR)
Němčina [de] de, de-DE (výchozí) ✔️ ✔️ ✔️ (de, de-DE)
Španělština [es] es, es-ES (výchozí), es-MX ✔️ ✔️ ✔️ (es, es-ES)
Italština [it] it, it-IT (výchozí) ✔️ ✔️
Japonština [ja] ja, ja-JP (výchozí) ✔️ ✔️ (Preview)
Čínština [zh] zh, zh-CN (výchozí), zh-TW ✔️ ✔️ (Preview)
Portugalština [pt] pt, pt-BR (výchozí), pt-PT ✔️ ✔️ (Preview)
Holandština [nl] nl, nl-BE, nl-NL (výchozí) ✔️ (Preview) ✔️ (Preview) ✔️ (nl, nl-NL)
Arabština [ar] ar, ar-SA (výchozí), ar-EG, ar-MA, ar-KW, ar-JO ✔️ (Preview) ✔️ (Preview)
Arménština hy-AM (výchozí) ✔️ (Preview) ✔️ (Preview)
Bangla bn-IN (výchozí) ✔️ (Preview) ✔️ (Preview)
Baskičtina eu-ES (výchozí) ✔️ (Preview) ✔️ (Preview)
Bulharština [bg] bg, bg-BG (výchozí) ✔️ (Preview) ✔️ (Preview)
Katalánština [ca] ca, ca-ES (výchozí) ✔️ (Preview) ✔️ (Preview)
Chorvatština [hr] hr, hr-HR (výchozí), hr-BA ✔️ (Preview) ✔️ (Preview)
Čeština [cs] cs, cs-CZ (výchozí) ✔️ (Preview) ✔️ (Preview)
Dánština [da] da, da-DK (výchozí) ✔️ (Preview) ✔️ (Preview)
Estonština [et] et, et-EE (výchozí) ✔️ (Preview) ✔️ (Preview)
Finština [fi] fi, fi-FI (výchozí) ✔️ (Preview) ✔️ (Preview)
Galicijština gl-ES (výchozí) ✔️ (Preview) ✔️ (Preview)
Řečtina [el] el, el-GR (výchozí) ✔️ (Preview) ✔️ (Preview)
Gudžarátština gu-IN (výchozí) ✔️ (Preview) ✔️ (Preview)
Hebrejština he-IL (výchozí) ✔️ (Preview) ✔️ (Preview)
Hindština [hi] hi, hi-IN (výchozí) ✔️ (Preview) ✔️ (Preview)
Maďarština [hu] hu, hu-HU (výchozí) ✔️ (Preview) ✔️ (Preview)
Islandský [is] is, is-IS (výchozí) ✔️ (Preview) ✔️ (Preview)
Indonéština [id] id, id-ID (výchozí) ✔️ (Preview) ✔️ (Preview)
Irština ga-IE (výchozí) ✔️ (Preview) ✔️ (Preview)
Kannadština kn-IN (výchozí) ✔️ (Preview) ✔️ (Preview)
Korejština [ko] ko, ko-KR (výchozí) ✔️ (Preview) ✔️ (Preview)
Lotyština [lv] lv, lv-LV (výchozí) ✔️ (Preview) ✔️ (Preview)
Litevština [lt] lt, lt-LT (výchozí) ✔️ (Preview) ✔️ (Preview)
Malajalámština ml-IN (výchozí) ✔️ (Preview) ✔️ (Preview)
Malajský [ms] ms, ms-MY (výchozí), ms-BN ✔️ (Preview) ✔️ (Preview)
Maráthština mr-IN (výchozí) ✔️ (Preview) ✔️ (Preview)
Norština [no] ne, no-NO (výchozí), nb-NO ✔️ (Preview) ✔️ (Preview)
Perština fa-AE (výchozí) ✔️ (Preview) ✔️ (Preview)
Polština [pl] pl, pl-PL (výchozí) ✔️ (Preview) ✔️ (Preview)
Paňdžábština pa-IN (výchozí) ✔️ (Preview) ✔️ (Preview)
Rumunština [ro] ro, ro-RO (výchozí) ✔️ (Preview) ✔️ (Preview)
Ruština [ru] ru, ru-RU (výchozí) ✔️ (Preview) ✔️ (Preview)
Srbština [sr] (cyrilice nebo latinka) sr, sr-BA (výchozí), sr-ME, sr-RS ✔️ (Preview) ✔️ (Preview)
Slovenština [sk] sk, sk-SK (výchozí) ✔️ (Preview) ✔️ (Preview)
Slovinština [sl] sl, sl-SL (výchozí) ✔️ (Preview) ✔️ (Preview)
Tamil [ta] ta, ta-IN (výchozí) ✔️ (Preview) ✔️ (Preview)
Švédština [sv] sv, sv-SE (výchozí) ✔️ (Preview) ✔️ (Preview)
Telugština te-IN (výchozí) ✔️ (Preview) ✔️ (Preview)
Thajština [th] th, th-TH (výchozí) ✔️ (Preview) ✔️ (Preview)
Turečtina [tr] tr, tr-TR (výchozí) ✔️ (Preview) ✔️ (Preview)
Ukrajinština [uk] uk, uk-UA (výchozí) ✔️ (Preview) ✔️ (Preview)
Urdština ur-PK (výchozí) ✔️ (Preview) ✔️ (Preview)
Vietnamština [va] va, vi-VN (výchozí) ✔️ (Preview) ✔️ (Preview)

Viz také