2016-09-21 19 views
1

Iimportieren JSON-Datei Elasticsearch

curl -XPOST "http://localhost:9200/<my_index_name>" -d @<absolute_path_to_my_json_file>

Dann verwendet habe, als ich versuchte, die Daten zu erhalten mit

curl -XGET "http://localhost:9200/<my_index_name>"

seine Daten mir nur für die erste Zeile meiner JSON-Datei geben . (einschließlich anderer Sachen auch - Einstellungen, Zuordnungen, Alias ​​usw.). Aber warum ist es nicht möglich, die gesamte JSON-Datei zu laden? BTW, ich benutze ES 2.4.0. Wenn ich Massen verwenden muss, wie lautet die Syntax?

+0

Statt '-d' Sie' --data-binary' verwenden müssen, wenn eine Datei über curl senden. – Val

+0

Versucht mit --data-binary. Es gibt {"quittiert": wahr}. Aber wenn ich den Befehl get benutze, um die Daten zu sehen. Es gibt in zweiten Treffern leer. Verwendete diesen Befehl - curl -XGET "http: // localhost: 9200//_search? Pretty = true" –

+0

Ich wollte hier noch eine Sache hinzufügen. Ich konnte Daten sehen, als ich ES 1.4.4 verwendet habe. Jetzt habe ich zu 2.4.0 gewechselt. Es zeigt mir keine Daten mit .../_ Suche. –

Antwort

0

Können Sie Ihre JSON-Struktur teilen? In Ihrem Beispiel legen Sie einfach einen Indexnamen fest. Um Daten ohne Typ und ID-Wert in den URI zu injizieren, müssen Sie sie in der JSON-Datei definieren.

Für weitere Informationen: Import/Index a JSON file into Elasticsearch

+0

Meine JSON-Datei hat ein Element in jeder Zeile (ein Element in einer Zeile, nicht in mehreren Zeilen). Jede Zeile (Element) hat viele Schlüssel: Wert-Paare. Das ist alles, was ich in JSON-Datei habe. Also, wie definiere ich Typ und ID auf JSON-Datei? –

+0

Verwenden Sie die Massen-API 'curl -s -XPOST localhost: 9200/_bulk --data-binary @' und fügen Sie vor jeder Zeile auf Ihrem json '{" index ": {" _index ":" "," _id ":" "}} https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-bulk.html – NicolasY

+0

tat ich nicht wissen, dass das Problem mit meiner JSON-Datei selbst war. Aber nach dem Post habe ich den GET-Befehl benutzt, um meine Daten zu sehen. Es zeigt eine zusätzliche ID. Was könnte das Problem sein? Es funktioniert aber gut mit einigen JSON-Dateien. Wie auch immer, vielen Dank Nicolas. –

0

GET index sucht nicht wirklich.

Sie müssen auch etwas wie GET index/_search ausführen.

+0

Ich wollte hier noch eine Sache hinzufügen. Ich konnte Daten sehen, als ich ES 1.4.4 verwendet habe. Jetzt habe ich zu 2.4.0 gewechselt. Es zeigt mir keine Daten mit .../_ Suche. –

Verwandte Themen