2016-09-21 8 views
1

Я использовалимпортировать файл JSON в elasticsearch

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

Тогда, когда я пытался получить данные с помощью

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

его дать мне данные только для первой линии моего файла JSon , (включая другие вещи - настройки, сопоставления, псевдонимы и т. д.). Но почему он не может загрузить весь json-файл? BTW, я использую ES 2.4.0. Если мне нужно использовать массив, то какой синтаксис?

+0

Вместо '-d' вам нужно использовать' --data-binary' при передаче файла через завиток. – Val

+0

Пробовал использовать --data-binary. Он дает {"признал": true}. Но когда я использую команду get для просмотра данных. Он дает пустые секунды. Использовал эту команду - curl -XGET "http: // localhost: 9200//_search? Pretty = true" –

+0

Я хотел добавить еще одну вещь здесь. Мне удалось увидеть данные, когда я использовал ES 1.4.4. Теперь я изменился на 2.4.0. Он не показывает мне данные с .../_ search. –

ответ

0

Не могли бы вы поделиться своей структурой json? В вашем примере вы просто указываете имя индекса. Чтобы вводить данные без значения типа и идентификатора в URI, вы должны определить их в файле json.

Для получения дополнительной информации: Import/Index a JSON file into Elasticsearch

+0

В моем json-файле есть один элемент в каждой строке (один элемент в одной строке, а не в нескольких строках). Каждая строка (элемент) имеет много пар ключей: значение. Это все, что у меня есть в json-файле. Итак, как определить тип и идентификатор в json-файле? –

+0

Используйте Bulk API 'curl -s -XPOST localhost: 9200/_bulk --data-binary @' и добавьте перед каждой строкой ваш json '{" index ": {" _index ":" < "," _type ":" "," _id ":" "}}' https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-bulk.html – NicolasY

+0

Я сделал не знаю, что проблема была в моем json-файле. Но после публикации я использовал команду GET для просмотра моих данных. Он показывает один дополнительный идентификатор. В чем может быть проблема ? Тем не менее, он работает отлично с некоторыми json-файлами. Во всяком случае, Большое спасибо Николасу. –

0

GET index не ищет на самом деле.

Вам также нужно запустить что-то вроде GET index/_search.

+0

Я хотел добавить еще одну вещь. Мне удалось увидеть данные, когда я использовал ES 1.4.4. Теперь я изменился на 2.4.0. Он не показывает мне данные с .../_ search. –

Смежные вопросы