У меня ES 2.2.0, и я пытаюсь
curl -XPOST "http://localhost:9200" -d @jnk.json
но я получаю
Warning: Couldn't read data from file "jnk.json", this makes an empty POST.
No handler found for uri [/] and method [POST]
вот содержимое файла jnk.json
PUT junktest
{
"mappings": {
"test": {"properties": {
"DocumentID": {
"type": "string"
},
"Tags":{
"type" : "string",
"index" : "not_analyzed"
},
"Summary": {
"type": "string",
"index" : "not_analyzed"
},
"Status": {
"type": "string",
"index" : "not_analyzed"
},
"Location": {
"type": "string",
"index" : "not_analyzed"
},
"Error": {
"type": "string",
"index" : "not_analyzed"
},
"Author": {
"type": "string",
"index" : "not_analyzed"
},
"Sector": {
"type": "string",
"index" : "not_analyzed"
}
"Created Date": {
"type": "date",
"format": "yyyy-MM-dd"
}
}
}
}
}
POST /junktest/test/
{
"DocumentID":"555661",
"Tags":["A","B","C","D"],
"Summary":"Summary Text",
"Status":"Review",
"Location":"HDFS",
"Error":"None",
"Author":"Poi KLj",
"Sector":"Energy",
"Created Date":"2013-04-23"
}
POST /junktest/test/
{
"DocumentID":"555662",
"Tags":["B","C","D"],
"Summary":"Summary Text",
"Status":"Review",
"Location":"HDFS",
"Error":"None",
"Author":"Abc Mnb",
"Sector":"Energy",
"Created Date":"2013-05-23"
}
поэтому я создаю сопоставление, а затем публикую один документ. Что я делаю не так?
Я получаю тот же результат для -XPUT
Изменить
большое спасибо @Bahaaldine Azarmi! была отсутствующая запятая, и я смог создать сопоставление отдельно :), но я попробовал массовую команду как
curl -XPOST "http://localhost:9200/_bulk" --data-binary @post.json
согласно API, и это дало мне ошибку
{"error":{"root_cause":[{"type":"json_parse_exception","reason":"Unexpected char
acter (':' (code 58)): expected a valid value (number, String, array, object, 't
rue', 'false' or 'null')\n at [Source: [B@2f1a62ab; line: 1, column: 27]"}],"typ
e":"json_parse_exception","reason":"Unexpected character (':' (code 58)): expect
ed a valid value (number, String, array, object, 'true', 'false' or 'null')\n at
[Source: [B@2f1a62ab; line: 1, column: 27]"},"status":500}
вот мой пост.json
{ "index" : { "_index" : "junktest", "_type" : "test"} }
{
"DocumentID":"555661",
"Tags":["A","B","C","D"],
"Summary":"Summary Text",
"Status":"Review",
"Location":"HDFS",
"Error":"None",
"Author":"Poi KLj",
"Sector":"Energy",
"Created Date":"2013-04-23"
}
что-то не так с моим синтаксисом? какой символ :
неуместен?
Исправлено
Разрывы строк не допускаются в массовом API, так как они рассматриваются как разделители. Итак, правильный формат файла
{"index":{"_index":"junktest","_type":"test"}}
{"DocumentID":"555661","Tags":["A","B","C","D"],"Summary":"Summary Text","Status":"Review","Location":"HDFS","Error":"None","Author":"Poi KLj","Sector":"Energy","Created Date":"2013-04-23"}
входной файл должен заканчиваться разрывом строки