Skapa ett indexalias i Azure AI Search

Viktigt!

Indexalias är för närvarande i offentlig förhandsversion och är tillgängliga under kompletterande användningsvillkor.

I Azure AI Search är ett indexalias ett sekundärt namn som kan användas för att referera till ett index för frågor, indexering och andra åtgärder. Du kan skapa ett alias som mappar till ett sökindex och ersätta aliasnamnet på platser där du annars skulle referera till ett indexnamn. Ett alias ger flexibilitet om du behöver ändra vilket index programmet pekar på. I stället för att uppdatera referenserna i ditt program kan du bara uppdatera mappningen för ditt alias.

Huvudmålet med indexalias är att göra det enklare att hantera dina produktionsindex. Om du till exempel behöver göra en ändring i indexdefinitionen, till exempel redigera ett fält eller lägga till en ny analysator, måste du skapa ett nytt sökindex eftersom alla sökindex är oföränderliga. Det innebär att du antingen måste släppa och återskapa ditt index eller skapa ett nytt index och sedan migrera programmet till det indexet.

I stället för att ta bort och återskapa ditt index kan du använda indexalias. Ett vanligt arbetsflöde är att:

  1. Skapa ditt sökindex
  2. Skapa ett alias som mappar till ditt sökindex
  3. Be ditt program skicka frågor/indexeringsförfrågningar till aliaset i stället för indexnamnet
  4. När du behöver göra en ändring i ditt index som kräver återskapande skapar du ett nytt sökindex
  5. När det nya indexet är klart uppdaterar du aliaset för att mappa till det nya indexet och begäranden dirigeras automatiskt till det nya indexet

Skapa ett indexalias

Du kan skapa ett alias med rest-API:et för förhandsversionen, förhandsversions-SDK:erna eller via Azure-portalen. Ett alias består av name aliaset och namnet på det sökindex som aliaset mappas till. Endast ett indexnamn kan anges i matrisen indexes .

Du kan använda skapa eller uppdatera alias (REST-förhandsversion) för att skapa ett indexalias.

POST /aliases?api-version=2023-10-01-preview
{
    "name": "my-alias",
    "indexes": ["hotel-samples-index"]
}

Skicka begäranden till ett indexalias

När du har skapat ditt alias är du redo att börja använda det. Alias kan användas för alla dokumentåtgärder, inklusive frågor, indexering, förslag och automatisk komplettering.

I frågan nedan, i stället för att skicka begäran till hotel-samples-index, kan du i stället skicka begäran till my-alias och den dirigeras därefter.

POST /indexes/my-alias/docs/search?api-version=2023-10-01-preview
{
    "search": "pool spa +airport",
    "searchMode": any,
    "queryType": "simple",
    "select": "HotelId, HotelName, Category, Description",
    "count": true
}

Om du förväntar dig att göra uppdateringar av ett produktionsindex anger du ett alias i stället för indexnamnet i programmet på klientsidan. Scenarier som kräver att indexet återskapas beskrivs i Släpp och återskapa ett index.

Kommentar

Du kan bara använda ett alias med dokumentåtgärder eller för att hämta och uppdatera en indexdefinition. Alias kan inte användas för att ta bort ett index, kan inte användas med API:et Analysera text och kan inte användas som targetIndexName på en indexerare.

En uppdatering av ett alias kan ta upp till 10 sekunder att spridas genom systemet, så du bör vänta minst 10 sekunder innan du utför någon åtgärd i indexet som har mappats eller nyligen har mappats till aliaset.

Växla index

När du nu behöver uppdatera programmet så att det pekar på ett nytt index behöver du bara uppdatera mappningen i ditt alias. PUT krävs för uppdateringar enligt beskrivningen i Skapa eller Uppdatera alias (REST-förhandsversion).

PUT /aliases/my-alias?api-version=2023-10-01-preview
{
    "name": "my-alias",
    "indexes": ["hotel-samples-index2"]
}

När du har uppdaterat aliaset börjar begäranden automatiskt dirigeras till det nya indexet.

Kommentar

En uppdatering av ett alias kan ta upp till 10 sekunder att spridas genom systemet, så du bör vänta minst 10 sekunder innan du tar bort det index som aliaset tidigare mappades till.

Se även