Ich arbeite an einer Java-App unter anderem mit Elasticsearch.Gibt es für eine JVM-App einen guten Grund, Elasticsearch REST API zu verwenden?
Bisher habe ich einen Java-Knoten-Client verwendet. Dann vor einiger Zeit habe ich von einigen Kollegen gehört, dass die REST-API bevorzugt wird, aus den folgenden Gründen:
- der Lage zu sein Elasticsearch zu aktualisieren, ohne den Transport Client-Version zu stoßen, dh die Version der Java-Client ist davon abhängig, welche Version ist der ES-Cluster läuft
- Knoten/Transport-Clients werden in den kommenden Releases veraltet sein?
- Sicherheit
ich versuche jetzt, um herauszufinden, wie viel dies hält.
Wenn es um # 1, the Elasticsearch docs state geht, ist es (normalerweise) genug, dass der Client und der ES-Cluster dieselbe Hauptversion haben. REST-API bietet also hier nicht wirklich etwas Besseres.
Dann wird # 3 von Shield behandelt.
Ich konnte nichts über # 2 finden.
Aus den obigen Informationen ist der einzige Grund, warum ich die REST-API in meiner Java-App verwenden möchte, die Versionsunabhängigkeit, nur um auf der sicheren Seite zu sein. Ansonsten nicht viel; ist das wirklich wahr? Und stimmt es, dass der Knoten/Transport-Client veraltet ist?
5.0 Alpha ist bereits da, also jetzt, und basierend auf Ihrem Feedback unter anderen, scheint es mir die beste Idee zu bleiben mit dem Knoten-Client, bis ES ihren eigenen HTTP-Client hat. Dann wird es einfacher zu entscheiden .:) Vielen Dank! –