Index frissítése (Azure AI Search REST API)
A meglévő indexek módosítása általában az index elvetését és újraépítését igényli, kivéve a következő sémamódosításokat:
Új mezők hozzáadása egy mezőgyűjteményhez
Újonnan létrehozott mezők hozzáadása javaslattevőhöz
Pontozási profilok hozzáadása vagy módosítása
Titkosítási kulcsok hozzáadása vagy módosítása
Új egyéni elemzők hozzáadása
CORS-beállítások módosítása
Módosítsa a meglévő mezőket az alábbi három módosítás bármelyikével:
- Változás
retrievable
(az értékek igaz vagy hamisak) - Módosítás
searchAnalyzer
(a lekérdezés időpontjában használatos) - Hozzáadás vagy módosítás
synonymMaps
(lekérdezéskor használatos)
- Változás
A frissítések hozzáadásához helyezze az index nevét a kérelem URI-jára. A kérelem törzsében adjon meg egy teljes indexdefiníciót a módosításokhoz.
PUT https://[search service name].search.windows.net/indexes/[index name]?api-version=[api-version]
Content-Type: application/json
api-key: [admin key]
A meglévő mezők és a legtöbb mezőattribútum nem törölhető vagy módosítható, és nem adhatók hozzá mezők a javaslattevőkhöz. Csak az újonnan létrehozott mezők adhatók hozzá egyhez suggester
.
Új mező hozzáadásakor minden meglévő dokumentum automatikusan null értéket kap a mezőhöz. A rendszer nem használ fel más tárterületet, amíg két dolog nem következik be: az új mezőhöz (az egyesítés használatával) értéket ad meg, vagy új dokumentumokat ad hozzá.
A meglévő elemzők, jogkivonat-elemzők, jogkivonatszűrők és karakterszűrők nem módosíthatók. Újak hozzáadása már meglévő indexhez csak akkor lehetséges, ha a allowIndexDowntime
jelző be van kapcsolva az indexfrissítési kérelemben. Ugyanez a szabály érvényes, amikor egy kezdeti vektormezőt ad hozzá egy olyan, már meglévő indexhez, amely egy olyan API-val lett létrehozva, amely nem támogatja a vektorkeresést, különösen a REST API 2023-07-01 előzetes verziója előtt.
PUT https://[search service name].search.windows.net/indexes/[index name]?api-version=[api-version]&allowIndexDowntime=true
Ez a művelet néhány másodpercre offline állapotba helyezi az indexet. Az indexelés és a lekérdezési kérések sikertelenek, amíg az index offline állapotban van. Az index online állapotba kerülése után a teljesítmény- és írási műveletek néhány percig átmenetileg csökkenthetők.
URI-paraméterek
Paraméter | Leírás |
---|---|
szolgáltatásnév | Kötelező. Állítsa be ezt a keresési szolgáltatás egyedi, felhasználó által megadott nevére. |
index neve | Kötelező. A kérelem URI-ja adja meg a frissíteni kívánt index nevét. |
api-verzió | Kötelező. A támogatott verziók listáját lásd: API-verziók . |
allowIndexDowntime | Választható. Alapértelmezés szerint hamis. Állítsa igaz értékre bizonyos frissítések esetében, például elemző, jogkivonat-jelölő, jogkivonatszűrő, karakterszűrő vagy hasonlósági tulajdonság hozzáadásához vagy módosításához. Az index offline állapotba kerül a frissítés során, általában legfeljebb néhány másodpercig. |
Kérelemfejlécek
Az alábbi táblázat a szükséges és nem kötelező kérelemfejléceket ismerteti.
Mezők | Description |
---|---|
Content-Type | Kötelező. Állítsa ezt a következőre: application/json |
api-key | Nem kötelező , ha Azure-szerepköröket használ, és egy tulajdonosi jogkivonatot ad meg a kéréshez, ellenkező esetben kulcsra van szükség. A frissítési kérelmeknek tartalmazniuk kell a api-key rendszergazdai kulcsra beállított fejlécet (nem pedig lekérdezési kulcsot). A részletekért lásd: Csatlakozás az Azure AI Searchhöz kulcshitelesítés használatával . |
Kérelem törzse
A kérelemtörzs szintaxisa megegyezik az Index létrehozása szintaxisával.
Meglévő index frissítésekkor a törzsnek tartalmaznia kell a teljes sémadefiníciót, beleértve a megőrizni kívánt eredeti definíciókat is. Általánosságban elmondható, hogy a frissítésekhez az a legjobb minta, ha lekéri az indexdefiníciót egy GET-lel, módosítja, majd a PUT használatával frissíti.
Reagálás
Sikeres kérés esetén a "204 Nincs tartalom" üzenetnek kell megjelennie.
Alapértelmezés szerint a választörzs üres. Ha azonban a kérelem fejléce Prefer
értékre return=representation
van állítva, a válasz törzse tartalmazza a frissített index JSON-ját. Ebben az esetben a siker állapotkódja "200 OK".