Hvordan bruke Elasticsearch Bulk API

Hvordan bruke Elasticsearch Bulk API
Elasticsearch lar deg utføre flere CRUD -operasjoner ved hjelp av en enkelt API -forespørsel ved hjelp av bulk API. Å bruke bulk API kan bidra til å redusere overhead og øke indekseringsoperasjonene. Når du utfører påfølgende CRUD -operasjoner, er det bedre å bruke bulk API i stedet for separate forespørsler for hver funksjon.

Denne korte artikkelen vil illustrere ved hjelp av bulk API for å utføre flere CRUD -operasjoner i en enkelt API -forespørsel.

Elasticsearch Bulk API Basics

Vi kan bruke Bulk API ved å sende en HTTP -postforespørsel til _bulk API -endepunktet. Forespørselen skal inneholde operasjonen som er utført i API -samtalen, for eksempel å opprette eller slette en indeks.

Tenk på følgende forespørsel.

Få /test-indeks
Post _Bulk
"Index": "_index": "Test-indeks-1", "_id": 1
"Field1": "Value1"
"oppdatering": "_id": 1, "_index": "test-indeks-1"
"Doc": "Field2": "Value2"
"slett": "_index": "test-indeks-1", "_id": 1

Forespørselen ovenfor utfører tre påfølgende handlinger samtidig. Det oppretter en indeks og legger til et dokument.

Deretter oppdaterer vi posten og sletter den.

Du bør se utgangen som ligner på den som er vist nedenfor:

Forklaring

Som nevnt lar Bulk API deg utføre flere handlinger som indeks, opprette, oppdatere og slette i en enkelt spørring.

Hver handling er spesifisert i forespørselsorganet ved hjelp av Newline avgrenset JSON -format.

Både indeksen og oppretter operasjoner krever at du spesifiserer kilden. Indeksaksjonen legger til eller utfører en erstatning på indeksen som spesifisert. Det er godt å merke seg at indeksoperasjonen vil mislykkes hvis et dokument med en lignende indeks allerede eksisterer.

En oppdateringsoperasjon, derimot, krever en delvis doktor som er spesifisert.

Forstå forespørselsorganet

Bulk API aksepterer operasjonene som skal utføres i kroppen. Oppføringene i kroppen er i form av JSON -avgrenset format.

Hver oppføring i en ny linje inkluderer handlingen og relaterte data for måloperasjonen.

La oss bryte ned operasjonene du kan spesifisere i forespørselsorganet og de aksepterte parametrene:

Skape

CREATE -operasjonen vil indeksere et spesifisert dokument hvis dokumentet ikke eksisterer. Viktige parametere for CREATE -operasjonen inkluderer:

_index - Angir navnet på indeks- eller indeksaliaset for å utføre indeksoperasjonen. Denne parameteren er ikke valgfri hvis du ikke har målparameteren satt i forespørselsbanen.

_id - IDen til dokumentet for å indeksere. Hvis du ikke har noen spesifisert verdi, vil Elasticsearch generere dokument -IDen automatisk.

Oppdater

Oppdateringsoperasjonen vil utføre en delvis dokumentoppdatering. Må kjenne parametere for oppdateringsoperasjonen inkluderer:

_index - Angir navnet på indeks- eller indeksområdene for å utføre oppdateringsoperasjonen.

_id - Dokument -ID, generert automatisk hvis ikke spesifisert.

Doc - Angir navnet på det delvise dokumentet for å indeksere.

Indeks

Indeksoperasjonen indekserer et spesifisert dokument. Hvis det spesifiserte dokumentet eksisterer, vil indeksoperasjonen erstatte dokumentet og øke versjonen. De essensielle parametrene for denne operasjonen inkluderer:

_index - Angir navnet på indeks- eller indeksaliaset å indeksere på.

_id - ID for dokumentet.

Slett

Slettoperasjonen sletter et dokument fra indeksen. Må kjenne parametere for denne operasjonen inkluderer:

_index - Angir navnet eller aliaset til indeksen.

_id - IDen til dokumentet for å fjerne fra indeksen.

MERK: Det er bra å ta hensyn til svaret fra bulk -API for å bestemme informasjon som mislykket og vellykkede operasjoner.

Konklusjon

Bulk API i Elasticsearch kan være en tidsbesparende både i antall forespørsler å komme med og indekseringsytelsen. Denne guiden gir det grunnleggende om hvordan du jobber med API for å utføre flere operasjoner.

For å lære mer om bulk API, sjekk dokumentasjonen.