Uppdateringsindex (REST API för Azure AI Search)

För att ändra ett befintligt index krävs vanligtvis en indexborttagning och återskapande, förutom följande schemaändringar:

  • Lägga till nya fält i en fältsamling

  • Lägga till nyligen skapade fält i en förslagsföreläsare

  • Lägga till eller ändra bedömningsprofiler

  • Lägga till eller ändra krypteringsnycklar

  • Lägga till nya anpassade analysverktyg

  • Ändra CORS-alternativ

  • Ändra befintliga fält med någon av dessa tre ändringar:

    • Ändra retrievable (värden är sanna eller falska)
    • Ändra searchAnalyzer (används vid frågetillfället)
    • Lägg till eller ändra synonymMaps (används vid frågetillfället)

Om du vill lägga till dessa uppdateringar lägger du till indexnamnet på begärande-URI:n. I begärandetexten inkluderar du en fullständigt angiven indexdefinition med dina ändringar.

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

Befintliga fält och de flesta fältattribut kan inte tas bort eller ändras, och fält kan inte heller läggas till i förslagsgivare. Endast nyligen skapade fält kan läggas till i en suggester.

När ett nytt fält läggs till får alla befintliga dokument automatiskt ett null-värde för det fältet. Inget annat lagringsutrymme förbrukas förrän något av två inträffar: ett värde anges för det nya fältet (med sammanslagning) eller så läggs nya dokument till.

Befintliga analysverktyg, tokeniserare, tokenfilter och teckenfilter kan inte ändras. Det går bara att lägga till nya i ett redan befintligt index när allowIndexDowntime flaggan är aktiverad i begäran om indexuppdatering. Samma regel gäller när du lägger till ett inledande vektorfält i ett befintligt index som har upprättats med hjälp av ett API som inte har stöd för vektorsökning, särskilt före REST API-version 2023-07-01 Preview.

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

Den här åtgärden tar ditt index offline i några sekunder. Indexering och frågebegäranden misslyckas när indexet är offline. Prestanda- och skrivåtgärder kan tillfälligt försämras i flera minuter efter att indexet är online igen.

URI-parametrar

Parameter Beskrivning
tjänstnamn Krävs. Ange det unika, användardefinierade namnet på söktjänsten.
indexnamn Krävs. Begärande-URI anger namnet på indexet som ska uppdateras.
api-version Krävs. En lista över versioner som stöds finns i API-versioner .
allowIndexDowntime Valfritt. Falskt som standard. Ange till true för vissa uppdateringar, till exempel att lägga till eller ändra en analysator, tokeniserare, tokenfilter, teckenfilter eller likhetsegenskap. Indexet tas offline under uppdateringen, vanligtvis inte mer än flera sekunder.

Rubriker för begäran

I följande tabell beskrivs nödvändiga och valfria begärandehuvuden.

Fält Description
Content-Type Krävs. Ange detta till application/json
api-key Valfritt om du använder Azure-roller och en ägartoken anges på begäran, annars krävs en nyckel. Uppdateringsbegäranden måste innehålla en api-key rubrik inställd på din administratörsnyckel (till skillnad från en frågenyckel). Mer information finns i Ansluta till Azure AI Search med nyckelautentisering .

Begärandetext

Syntaxen för begärandetexten är samma som för Skapa index.

När du uppdaterar ett befintligt index måste brödtexten innehålla den fullständiga schemadefinitionen, inklusive alla ursprungliga definitioner som du vill bevara. I allmänhet är det bästa mönstret för uppdateringar att hämta indexdefinitionen med en GET, ändra den och sedan uppdatera den med PUT.

Svarsåtgärder

För en lyckad begäran bör du se "204 Inget innehåll".

Svarstexten är som standard tom. Men om Prefer begärandehuvudet är inställt på return=representationinnehåller svarstexten JSON för det uppdaterade indexet. I det här fallet är statuskoden "200 OK".

Se även