Невозможно выполнить массовую вставку документов в индекс эластичного поиска: «Исключение из-за недопустимого аргумента: массовый запрос должен быть завершен переводом строки» - PullRequest
0 голосов
/ 25 ноября 2018

Я хочу вставить документы, содержащие мой my_docs.json, в мой индекс упругого поиска.Мой файл json выглядит следующим образом:

{"_index":"twitter","_type":"_doc","_id":"v8XSJ2cB_TizemYYi5mW","_score":1,"_source":{"user":"me","c":"2018-11-18T17:16:08.953Z","content":"this is cool stuff"}}

{"_index":"twitter","_type":"_doc","_id":"x8XbJ2cB_TizemYYxZmf","_score":1,"_source":{"user":"you","c":"2018-11-18T17:26:13.634Z","content":"this is some other cool stuff"}}

Я пытался: curl -XPUT 'http://localhost:9200/twitter/_bulk?pretty&refresh' -H "Content-Type: application/json" -d @my_docs.json

, где twitter - мой индекс.

Я получил ошибку:

{
  "error" : {
    "root_cause" : [
      {
        "type" : "illegal_argument_exception",
        "reason" : "The bulk request must be terminated by a newline [\n]"
      }
    ],
    "type" : "illegal_argument_exception",
    "reason" : "The bulk request must be terminated by a newline [\n]"
  },
  "status" : 400
}

Я добавил '\ n' в конец файла, но проблема не исчезла, и я получил ту же ошибку.

Как это исправить?

1 Ответ

0 голосов
/ 26 ноября 2018
curl -H "Content-Type: application/json" -XPOST "localhost:9200/{index}/{type}/_bulk?pretty&refresh" --data-binary "@my_docs.json"

Примечание. Файл json должен иметь содержимое в следующем формате, чтобы вышеуказанное работало:

{"index":{"_index":"my_index","_type":"_doc","_id":"1"}}
{"field1":"field 1 data 1","field2":11}
{"index":{"_index":"my_index","_type":"_doc","_id":"2"}}
{"field1":"field 1 data 2","field2":21}`

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...