Jak korzystać z Elasticsearch Mur API

Jak korzystać z Elasticsearch Mur API
ElasticSearch umożliwia wykonywanie wielu operacji CRUD za pomocą pojedynczego żądania API za pomocą interfejsu API masowego. Korzystanie z interfejsu API może pomóc zmniejszyć koszty ogólne i zwiększyć operacje indeksowania. Podczas wykonywania kolejnych operacji CRUD lepiej jest użyć interfejsu API masowego zamiast osobnych żądań dla każdej funkcji.

Ten krótki artykuł ilustruje za pomocą interfejsu API zbiorczych do przeprowadzania wielu operacji CRUD w jednym żądaniu API.

Elasticsearch Bulk API Basics

Możemy użyć interfejsu API masowego, wysyłając żądanie HTTP Post do punktu końcowego API API _BULK. Żądanie powinno zawierać operację wykonaną w wywołaniu API, takim jak tworzenie lub usunięcie indeksu.

Rozważ następujące żądanie.

Get /Test-Indeks
Post _Bulk
„indeks”: „_Index”: „test-index-1”, „_id”: 1
„Field1”: „wartość1”
„aktualizacja”: „_id”: 1, „_Index”: „test-index-1”
„Doc”: „Field2”: „wartość2”
„delete”: „_Index”: „test-index-1”, „_id”: 1

Powyższe przykładowe żądanie wykonuje trzy kolejne działania jednocześnie. Tworzy indeks i dodaje dokument.

Następnie aktualizujemy rekord i usuwamy go.

Powinieneś zobaczyć dane wyjściowe podobne do tego pokazanego poniżej:

Wyjaśnienie

Jak wspomniano, interfejs API zbiorczy umożliwia wykonywanie wielu działań, takich jak indeks, tworzenie, aktualizacja i usuwanie w jednym zapytaniu.

Każde działanie jest określone w ciele żądania przy użyciu Nowego Line Delimited JSON Format.

Zarówno indeks, jak i operacje tworzenia wymagają określania źródła. Działanie indeksu dodaje lub wykonuje wymianę w indeksie, jak określono. Należy zauważyć, że operacja indeksu nie powiedzie się, jeśli dokument z podobnym indeksem już istnieje.

Z drugiej strony operacja aktualizacji wymaga częściowego dokumentu.

Zrozumienie ciała żądania

API masowe akceptuje operacje do wykonania w ciele. Wpisy w ciele są w postaci formatu JSON DILIMITED.

Każdy wpis w nowym wierszu zawiera akcję i powiązane dane dotyczące działania docelowego.

Rozbijmy operacje, które możesz określić w ciele żądania i przyjętych parametrów:

Tworzyć

Operacja Utwórz będzie indeksować określony dokument, jeśli dokument nie istnieje. Niezbędne parametry operacji Utwórz obejmują:

_indeks - Ustawia nazwę indeksu lub aliasu indeksu, na którym można wykonać operację indeksu. Ten parametr nie jest opcjonalny, jeśli nie masz docelowego parametru ustawionego na ścieżce żądania.

_ID - Identyfikator dokumentu do indeksowania. Jeśli nie masz określonej wartości, ElasticSearch automatycznie wygeneruje identyfikator dokumentu.

Aktualizacja

Operacja aktualizacji przeprowadzi częściową aktualizację dokumentów. Parametry do wiedzy dla operacji aktualizacji obejmują:

_indeks - Określa nazwę obszarów indeksu lub indeksu do przeprowadzenia operacji aktualizacji.

_ID - identyfikator dokumentu, generowany automatycznie, jeśli nie określony.

Doc - Ustawia nazwę częściowego dokumentu na indeks.

Indeks

Indeks operacji indeksuje określony dokument. Jeśli istnieje określony dokument, operacja indeksu zastąpi dokument i zwiększy jego wersję. Podstawowe parametry tej operacji obejmują:

_indeks - Ustawia nazwę indeksu lub alias indeksu na indeksowanie.

_ID - ID dokumentu.

Usuwać

Operacja Usuń usuwa dokument z indeksu. Muszę wiedzieć parametry tej operacji obejmują:

_indeks - Ustawia nazwę lub alias indeksu.

_ID - Identyfikator dokumentu do usunięcia z indeksu.

NOTATKA: Dobrze jest zwrócić uwagę na odpowiedź z interfejsu API w celu ustalenia informacji, takich jak nieudane i udane operacje.

Wniosek

API masowego w ElasticSearch może być oszczędnym czasem zarówno pod względem liczby żądań, jak i wydajności indeksowania. Ten przewodnik zawiera podstawy pracy z API w celu wykonywania wielu operacji.

Aby dowiedzieć się więcej o interfejsie API zbiorczej, sprawdź dokumentację.