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)
- Změna
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 suggester
jenom 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".