Aktualizace indexu (rozhraní REST API služby Azure AI Search)

Úprava existujícího indexu obvykle vyžaduje odstranění a opětovné sestavení indexu s výjimkou následujících změn schématu:

  • Přidání nových polí do kolekce polí

  • Přidání nově vytvořených polí do navrhovatele

  • Přidání nebo změna profilů hodnocení

  • Přidání nebo změna šifrovacích klíčů

  • Přidání nových vlastních analyzátorů

  • Změna možností CORS

  • Změňte existující pole některou z těchto tří úprav:

    • Změna retrievable (hodnoty jsou true nebo false)
    • Změna searchAnalyzer (používá se v době dotazu)
    • Přidat nebo změnit synonymMaps (používá se v době dotazu)

Pokud chcete přidat tyto aktualizace, vložte název indexu do identifikátoru URI požadavku. Do textu požadavku zahrňte plně zadanou definici indexu s vašimi úpravami.

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

Existující pole a většinu atributů polí nelze odstranit ani změnit, ani je nelze přidat do navrhovatelů. Do se dají přidat suggesterjenom nově vytvořená pole.

Když přidáte nové pole, všechny existující dokumenty automaticky získají hodnotu null pro toto pole. Žádný jiný prostor úložiště se nevyuží, dokud se neuskuteční jedna ze dvou věcí: pro nové pole se zadají hodnoty (pomocí sloučení) nebo se nepřidají nové dokumenty.

Existující analyzátory, tokenizátory, filtry tokenů a filtry znaků nelze změnit. Přidání nových do již existujícího indexu je možné pouze v případech, kdy allowIndexDowntime je příznak v žádosti o aktualizaci indexu zapnutý. Stejné pravidlo platí při přidávání počátečního vektorového pole do již existujícího indexu vytvořeného pomocí rozhraní API, které nepodporuje vektorové vyhledávání, konkrétně před verzí REST API 2023-07-01 Preview.

PUT https://[search service name].search.windows.net/indexes/[index name]?api-version=[api-version]&allowIndexDowntime=true

Tato operace přenese index na několik sekund do offline režimu. Indexování a požadavky dotazů selžou, když je index offline. Po návratu indexu do online režimu může dojít k dočasnému snížení výkonu a operací zápisu.

Parametry identifikátoru URI

Parametr Popis
název služby Povinná hodnota. Nastavte ho na jedinečný, uživatelem definovaný název vaší vyhledávací služby.
název indexu Povinná hodnota. Identifikátor URI požadavku určuje název indexu, který se má aktualizovat.
verze-api Povinná hodnota. Seznam podporovaných verzí najdete v tématu Verze rozhraní API .
allowIndexDowntime Nepovinný parametr. Ve výchozím nastavení je false. Pro určité aktualizace, jako je například přidání nebo úprava analyzátoru, tokenizátoru, filtru tokenů, filtru znaků nebo vlastnosti podobnosti, nastavte hodnotu true. Index se během aktualizace přemístit do režimu offline, obvykle ne déle než několik sekund.

Hlavičky požadavku

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

Pole Description
Typ obsahu Povinná hodnota. Nastavte tuto možnost na application/json
klíč rozhraní API Volitelné, pokud používáte role Azure a v požadavku je k dispozici nosný token, jinak se vyžaduje klíč. Žádosti o aktualizaci musí obsahovat hlavičku nastavenou api-key na klíč správce (na rozdíl od klíče dotazu). Podrobnosti najdete v tématu Připojení ke službě Azure AI Search pomocí ověřování pomocí klíče .

Text požadavku

Syntaxe textu požadavku je stejná jako u příkazu Vytvořit index.

Při aktualizaci existujícího indexu musí tělo obsahovat úplnou definici schématu včetně všech původních definic, které chcete zachovat. Obecně platí, že nejlepší způsob aktualizace je načíst definici indexu pomocí get, upravit ji a pak ji aktualizovat pomocí PUT.

Odpověď

V případě úspěšné žádosti by se měla zobrazit zpráva 204 – Žádný obsah.

Ve výchozím nastavení je text odpovědi prázdný. Pokud je ale hlavička Prefer požadavku nastavená na return=representation, text odpovědi obsahuje KÓD JSON aktualizovaného indexu. V tomto případě je stavový kód úspěchu "200 OK".

Viz také