2016-08-01 5 views
1

Ich versuche, einige JSON-Dateien über Sense in meine lokale ES-Instanz zu laden, aber ich kann den Code nicht herausfinden. Ich weiß, ES hat die Massen-API und die Index-API, aber ich kann nicht scheinen, den Code zusammenzubringen. Wie kann ich JSON-Dateien mit Sense auf meine lokale ES-Instanz hochladen/indexieren? Vielen Dank!Elasticsearch - Sense - Indexierung von JSON-Dateien?

+0

Diese Antwort zeigt beziehen, wie eine Bulk-Abfrage senden über Sense helfen könnten: http://stackoverflow.com/questions/38069413/insertion-bulk-data -nicht-Arbeit-elastische-Suche/38069512 # 38069512 – Val

Antwort

2

Ja, ES verfügt über eine Bulk-API zum Hochladen von JSON-Dateien in den ES-Cluster. Ich denke nicht, dass API in Low-Level-Sprachen verfügbar ist, wie im Fall von Sense ist es Javascript im Browser. High-Level-Clients sind in Java oder C# verfügbar, die mehr Kontrolle über den ES-Cluster ermöglichen. Ich glaube nicht, dass Chrome Browser die Ausführung dieses Befehls unterstützt.

So laden Sie eine JSON-Datei mithilfe der Bulk-API in das Elastic-Format hoch.

1) Dieser Befehl lädt JSON-Dokumente aus einer JSON-Datei.

curl -s -XPOST localhost:9200/_bulk --data-binary @path_to_file; 

2) Die JSON Datei formatiert werden soll, wie folgt:

{ "index" : { "_index" : "test", "_type" : "type1", "_id" : "1" } } 
{ "field1" : "value1" } 
{ "index" : { "_index" : "test", "_type" : "type1", "_id" : "1" } } 
{ "field1" : "value3" } 
{ "index" : { "_index" : "test", "_type" : "type1", "_id" : "1" } } 
{ "doc" : {"field2" : "value2"} } 

Wo JSON Objekt doc jeweils JSON Objektdaten darstellt, und den entsprechenden Index JSON Objekt darstellen Metadaten für diese bestimmte JSON doc wie Dokumenten-ID , geben Sie den Index, den Indexnamen ein.

link to bulk upload

Sie können auch meine früheren answer