Update Index (Interfejs API REST usługi Azure AI Search)

Modyfikowanie istniejącego indeksu zwykle wymaga upuszczania i ponownego kompilowania indeksu, z wyjątkiem następujących zmian schematu:

  • Dodawanie nowych pól do kolekcji pól

  • Dodawanie nowo utworzonych pól do sugestora

  • Dodawanie lub zmienianie profilów oceniania

  • Dodawanie lub zmienianie kluczy szyfrowania

  • Dodawanie nowych analizatorów niestandardowych

  • Zmienianie opcji mechanizmu CORS

  • Zmień istniejące pola przy użyciu dowolnej z tych trzech modyfikacji:

    • Zmiana retrievable (wartości są prawdziwe lub fałszywe)
    • Zmiana searchAnalyzer (używana w czasie zapytania)
    • Dodawanie lub zmienianie synonymMaps (używane w czasie zapytania)

Aby dodać te aktualizacje, umieść nazwę indeksu na identyfikatorze URI żądania. W treści żądania dołącz w pełni określoną definicję indeksu z modyfikacjami.

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

Istniejące pola i większość atrybutów pól nie mogą być usuwane ani zmieniane, ani nie można dodawać pól do sugestorów. Do elementu suggestermożna dodać tylko nowo utworzone pola.

Po dodaniu nowego pola wszystkie istniejące dokumenty automatycznie otrzymają wartość null dla tego pola. Żadne inne miejsce do magazynowania nie jest używane do momentu wystąpienia jednej z dwóch rzeczy: zostanie podana wartość nowego pola (przy użyciu scalania) lub zostaną dodane nowe dokumenty.

Istniejące analizatory, tokenizatory, filtry tokenów i filtry znaków nie mogą zostać zmienione. Dodanie nowych do już istniejącego indeksu jest możliwe tylko wtedy, gdy flaga allowIndexDowntime jest włączona w żądaniu aktualizacji indeksu. Ta sama reguła ma zastosowanie podczas dodawania pola wektora początkowego do istniejącego indeksu, który został ustanowiony przy użyciu interfejsu API, który nie obsługuje wyszukiwania wektorowego, szczególnie przed interfejsem API REST w wersji 2023-07-01 (wersja zapoznawcza).

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

Ta operacja trwa w trybie offline przez kilka sekund. Indeksowanie i żądania zapytań kończą się niepowodzeniem, gdy indeks jest w trybie offline. Wydajność i operacje zapisu mogą być tymczasowo obniżone przez kilka minut po powrocie indeksu do trybu online.

Parametry identyfikatora URI

Parametr Opis
nazwa usługi Wymagane. Ustaw tę wartość na unikatową, zdefiniowaną przez użytkownika nazwę usługi wyszukiwania.
nazwa indeksu Wymagane. Identyfikator URI żądania określa nazwę indeksu do zaktualizowania.
api-version Wymagane. Zobacz Wersje interfejsu API , aby uzyskać listę obsługiwanych wersji.
allowIndexDowntime Opcjonalny. Domyślnie fałsz. Ustaw wartość true dla niektórych aktualizacji, takich jak dodawanie lub modyfikowanie analizatora, tokenizatora, filtru tokenu, filtru char lub właściwości podobieństwa. Indeks jest pobierany w tryb offline podczas aktualizacji, zwykle nie więcej niż kilka sekund.

Nagłówki żądań

W poniższej tabeli opisano wymagane i opcjonalne nagłówki żądań.

Pola Opis
Content-Type Wymagane. Ustaw tę wartość na application/json
api-key Opcjonalnie, jeśli używasz ról platformy Azure , a token elementu nośnego jest udostępniany w żądaniu, w przeciwnym razie wymagany jest klucz. Żądania aktualizacji muszą zawierać api-key nagłówek ustawiony na klucz administratora (w przeciwieństwie do klucza zapytania). Aby uzyskać szczegółowe informacje, zobacz Nawiązywanie połączenia z usługą Azure AI Search przy użyciu uwierzytelniania klucza .

Treść żądania

Składnia treści żądania jest taka sama jak w przypadku tworzenia indeksu.

Podczas aktualizowania istniejącego indeksu treść musi zawierać pełną definicję schematu, w tym wszelkie oryginalne definicje, które chcesz zachować. Ogólnie rzecz biorąc, najlepszym wzorcem aktualizacji jest pobranie definicji indeksu za pomocą polecenia GET, zmodyfikowanie go, a następnie zaktualizowanie go za pomocą polecenia PUT.

Reakcja

W przypadku pomyślnego żądania powinien zostać wyświetlony komunikat "204 Brak zawartości".

Domyślnie treść odpowiedzi jest pusta. Prefer Jeśli jednak nagłówek żądania ma wartość return=representation, treść odpowiedzi zawiera kod JSON zaktualizowanego indeksu. W takim przypadku kod stanu powodzenia to "200 OK".

Zobacz też