In diesem kurzen Artikel wird die Verwendung der Bulk -API veranschaulicht, um mehrere CRUD -Operationen in einer einzelnen API -Anfrage durchzuführen.
Elasticsearch Bulk API -Grundlagen
Wir können die Bulk -API verwenden, indem wir eine HTTP -Postanforderung an _bulk API -Endpunkt senden. Die Anforderung sollte die im API -Aufruf durchgeführte Operation enthalten, z. B. das Erstellen oder Löschen eines Index.
Betrachten Sie die folgende Anfrage.
Get /Test-Index
Post _bulk
"Index": "_index": "Test-Index-1", "_id": 1
"field1": "value1"
"update": "_id": 1, "_index": "Test-Index-1"
"doc": "field2": "value2"
"Delete": "_index": "Test-Index-1", "_id": 1
Die obige Beispielanforderung führt drei aufeinanderfolgende Maßnahmen gleichzeitig aus. Es erstellt einen Index und fügt ein Dokument hinzu.
Als nächstes aktualisieren wir den Datensatz und löschen ihn.
Sie sollten die Ausgabe ähnlich wie die unten gezeigte sehen:
Erläuterung
Wie bereits erwähnt, können Sie mit der Bulk -API mehrere Aktionen wie Index, Erstellen, Aktualisieren und Löschen einer einzelnen Abfrage ausführen.
Jede Aktion wird im Anforderungsbehörde mit dem von Newline Gremed JSON -Format angegebenen JSON -Format angegeben.
Sowohl der Index- als auch der Erstellungsvorgänge müssen die Quelle angeben. Die Indexaktion fügt oder führt einen Ersatz für den Index hinzu, wie angegeben. Es ist gut zu beachten, dass die Indexoperation fehlschlägt, wenn ein Dokument mit einem ähnlichen Index bereits vorhanden ist.
Eine Aktualisierungsoperation hingegen erfordert ein teilweise angegebenes teilweise Dokument.
Verständnis des Anfragekörper
Die Bulk -API akzeptiert die Operationen, die im Körper ausgeführt werden sollen. Die Einträge im Körper befinden sich in Form des JSON -Abgrenzungsformats.
Jeder Eintrag in einer neuen Zeile enthält die Aktion und die zugehörigen Daten für den Zielvorgang.
Lassen Sie uns die Operationen aufschlüsseln, die Sie in der Anforderungsbehörde und den akzeptierten Parametern angeben können:
Erstellen
Der Vorgang erstellen wird ein angegebenes Dokument indexiert, wenn das Dokument nicht vorhanden ist. Wesentliche Parameter für den Vorgang erstellen umfassen:
_Index - Legt den Namen des Index- oder Index -Alias fest, auf dem die Indexoperation ausgeführt werden soll. Dieser Parameter ist nicht optional, wenn Sie nicht über den Zielparameter im Anforderungspfad eingestellt sind.
_Ausweis - Die ID des Dokuments zum Index. Wenn Sie keinen Wert angegeben haben, generiert Elasticsearch die Dokument -ID automatisch.
Aktualisieren
Die Aktualisierungsoperation führt eine teilweise Dokumentaktualisierung durch. Zu den Must-Know-Parametern für die Aktualisierungsoperation gehören:
_Index - Gibt den Namen der Index- oder Indexbereiche an, um die Aktualisierungsoperation durchzuführen.
_Ausweis - Dokument -ID, automatisch generiert, wenn nicht angegeben.
Dokument - Legt den Namen des Teildokuments auf den Index fest.
Index
Der Indexbetrieb indiziert ein angegebenes Dokument. Wenn das angegebene Dokument vorhanden ist, ersetzt der Indexvorgang das Dokument und erhöht seine Version. Die wesentlichen Parameter für diesen Vorgang umfassen:
_Index - Legt den Namen des Index- oder Index -Alias auf den Index fest.
_Ausweis - ID des Dokuments.
Löschen
Die Löschung löscht ein Dokument aus dem Index. Zu den Parametern für diese Operation sind: gehören:
_Index - Legt den Namen oder den Alias des Index fest.
_Ausweis - Die ID des Dokuments, die aus dem Index entfernt werden soll.
NOTIZ: Es ist gut, auf die Antwort der Bulk -API zu achten, um Informationen wie fehlgeschlagene und erfolgreiche Operationen zu ermitteln.
Abschluss
Die Bulk -API in Elasticsearch kann eine Zeitsparung sowohl in der Anzahl der zu stellen. Dieser Leitfaden bietet die Grundlagen, wie man mit der API arbeitet, um mehrere Operationen auszuführen.
Weitere Informationen über die Bulk -API finden Sie in der Dokumentation.