2017-03-24 2 views
0

Momentan wird elastische Suche nach einem Backend eines cms verwendet. Mein Teamleiter informierte mich, dass wir die Version 2.4 wegen der Stabilität verwenden werden und als ich mir die Apis für diese Version anschaute. Mir ist aufgefallen, dass deleteByQuery Api nicht im Treiber elasticsearch nodejs verfügbar ist. Gibt es eine Möglichkeit, die Löschung aller Dokumente, die zu einem bestimmten Feld gehören, aus einem bestimmten Index in dieser Version zu erreichen? Die App wird im Grunde eine verherrlichte Crud-App sein, aber das Fehlen von Massenlöschung scheint dieses Ziel zu behindern.Gibt es eine Möglichkeit, alle Dokumente, die einem bestimmten Feld in Version 2.4 entsprechen, mit dem nodejs-Treiber zu löschen?

Antwort

0

Ich erkannte, dass es ein Plug-In gibt, das für die Versionen 2.x für deleteByQuery api installiert werden kann. Es gibt ein Plug-in-Modul von npm, das die Verwendung dieser API ermöglicht.

import elasticsearch from "elasticsearch"; 
import deleteByQuery from "elasticsearch-deletebyquery"; 

const client = new elasticsearch.Client({ 
    host: "localhost:9200", 
    apiVersion: "2.4", 
    plugins: [ deleteByQuery ] 
}); 

Auf diese Weise können Sie die Methode aufzurufen client.deleteByQuery()

Verwandte Themen