2015-03-29 2 views
3

Я попытался вставить свой файл JSON с помощью команды{ "Ошибка": "MapperParsingException [искаженное содержание должна начинаться с объектом]", "Статус": 400}

локона -XPOST 'http://localhost:9200/test/sec5/1' -d @ quality.json

[ 
    { 
    "Provider ID":"###", 
    "Hospital Name":"## #### ###", 
    "Address":"## ## ## ## ", 
    "City":"###", 
    "State":"IL", 
    "ZIP Code":##, 
    "County Name":"$$$$", 
    "Phone Number":###, 
    "Condition":"## ## ###", 
    "Measure ID":"AMI_10", 
    "Measure Name":"## ## ##", 
    "Score":"98", 
    "state_score":99, 
    "nat_score":98, 
    "percent_s_score":"98.989898989899", 
    "percent_n_score":"100", 
    "Sample":"101", 
    "patient errors":"2.02", 
    "Footnote":"", 
    "Measure Start Date":"4/1/2013", 
    "Measure End Date":"12/31/2013" 
    }, 
    { 
     "Provider ID":"###", 
    "Hospital Name":"## #### ###", 
    ................. 

    "Measure Start Date":"4/1/2013", 
    "Measure End Date":"12/31/2013" 
    }, 

........... 
......... 

] 

Что не так с моим JSON-форматом? Заранее спасибо.

ответ

4

В сообщении об ошибке четко сказано, что здесь происходит.

{ «Ошибка»: «MapperParsingException [искаженное содержание, должна начинаться с объектом]», «Статус»: 400}

Это означает, что вы должны обернуть весь контент с {...} Кроме того, вы не можете сделать что-то вроде:

{ [...] } 

Потому что это не является допустимым JSON док. объект JSON должен быть в формате пар имя-значение, как:

{ "data": [...] } 

Но тогда это будет рассматриваться как единый документ для индексирования, и я предполагаю, что это не то, что вы ожидаете, что это будет. Вы пытаетесь проиндексировать сразу несколько документов.

В принципе, вы не можете так поступать. Для нескольких «действий» в одном запросе вы должны использовать Bulk API. Это немного сложнее, чем простой запрос, поэтому я не буду его здесь объяснять. Просто прочитайте документы.

+0

Я приложил {в начальной и} в конце file.Got ошибка { «Ошибка»: "MapperParsingException [не удалось разобрать]; вложенная: JsonParseException [Неожиданный символ („[“(код 91)): ожидал либо действительный символ имени (для некотируемого имени), либо двойную кавычку (для цитирования), чтобы начать имя поля \ n в [Источник: [B @ 686d4e; строка: 1, столбец: 3]]; "," status ": 400} – Venkat

+0

Обновлен мой ответ. –

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