2016-10-06 3 views
1

Привет Я пытаюсь загрузить образец данных referring elastic search docs, но когда я пытаюсь запустить команду, я получаю следующую ошибку. Я прочитал все документы, но я не могу его разрешить.Ошибка загрузки образца данных в Elastic search

$ curl -XPOST 'localhost:9200/bank/account/_bulk?pretty' --data-binary @accounts.json 
Warning: Couldn't read data from file "accounts.json", this makes an empty 
Warning: POST. 

    { 
     "error" : { 
     "root_cause" : [ { 
      "type" : "parse_exception", 
      "reason" : "Failed to derive xcontent" 
     } ], 
     "type" : "parse_exception", 
     "reason" : "Failed to derive xcontent" 
     }, 
     "status" : 400 
    } 

enter image description here

Первые несколько строк в accounts.json является: -

{"account_number":736,"balance":28677,"firstname":"Rogers","lastname":"Mcmahon","age":21,"gender":"F","address":"423 Cameron Court","employer":"Brainclip","email":"[email protected]","city":"Saddlebrooke","state":"FL"} 
{"index":{"_id":"743"}} 
{"account_number":743,"balance":14077,"firstname":"Susana","lastname":"Moody","age":23,"gender":"M","address":"842 Fountain Avenue","employer":"Bitrex","email":"[email protected]","city":"Temperanceville","state":"TN"} 
{"index":{"_id":"748"}} 
{"account_number":748,"balance":38060,"firstname":"Ford","lastname":"Branch","age":25,"gender":"M","address":"926 Cypress Avenue","employer":"Buzzness","email":"[email protected]","city":"Beason","state":"DC"} 
{"index":{"_id":"750"}} 

Я также упомянул Bulk API doc of ES

Я могу создать единый индекс, но по неизвестным причинам Я не могу индексировать объемные документы.

+0

Вы уверены, что файл accounts.json находится в вашей текущей папке? Можете ли вы показать первые несколько строк, которые он содержит? – Val

+0

Я загрузил образец json только с сайта ES, поэтому я не думаю, что в этом будет какая-то ошибка. –

+0

Вам не хватает первой строки, которая должна быть '{" index ": {" _ id ":" 742 "}}' – Val

ответ

2

Это потому, что файл accounts.json недоступен для чтения, поскольку он имеет неправильные разрешения/владельца или потому, что он не находится в вашем текущем рабочем каталоге.

Прежде всего, найдите файл в своей файловой системе, чтобы убедиться, что он определенно находится в текущем рабочем каталоге, введите ls -al accounts.json (если вы используете окна, вероятно, вы должны использовать dir accounts.json /Q) и убедитесь, что у него есть разрешения на чтение, затем укажите полный путь с помощью локонов команды, например:

curl -XPOST 'localhost:9200/bank/account/_bulk?pretty' --data-binary "@/home/user/accounts.json" 

Поэтому я уверен, что это проблема, потому что я получаю то же сообщение об ошибке, когда я пытаюсь POST не-существующий файл.

+0

это очень помогает! Или! –

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