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ę.