Как вы отправляете массовые вставки без идентификаторов - PullRequest
0 голосов
/ 19 ноября 2018

Я пытаюсь использовать API-интерфейс массовых вставок для упругого поиска. Я хотел бы вставить документы с автоматически сгенерированными идентификаторами, но я получаю ошибки, независимо от того, что я пытаюсь.

Вот несколько примеров усилий:

http://localhost:9200/_bulk
{"create": {"_index": "test", "_type": "_doc"} }
{"user": "kimchy", "post_date": "2002-11-15T14:12:12", "message": "trying out Elasticsearch"}

и поставил и пост выдает ошибку:

{
  "error": {
    "root_cause": [
      {
        "type": "action_request_validation_exception",
        "reason": "Validation Failed: 1: an id must be provided if version type or value are set;"
      }
    ],
    "type": "action_request_validation_exception",
    "reason": "Validation Failed: 1: an id must be provided if version type or value are set;"
  },
  "status": 400
}

Если я удаляю _type _doc, я получаю следующую ошибку:

{
  "error": {
    "root_cause": [
      {
        "type": "action_request_validation_exception",
        "reason": "Validation Failed: 1: type is missing;2: an id is required for a CREATE operation;3: an id must be provided if version type or value are set;"
      }
    ],
    "type": "action_request_validation_exception",
    "reason": "Validation Failed: 1: type is missing;2: an id is required for a CREATE operation;3: an id must be provided if version type or value are set;"
  },
  "status": 400
}    

Я использую упругий поиск 6.4.2 через докер

~ docker images
REPOSITORY       TAG       IMAGE ID      CREATED      SIZE
elasticsearch    6.4.2     e47ebd7ec3ee  7 weeks ago  828MB

В настоящее время отправка запросов через почтальона

1 Ответ

0 голосов
/ 19 ноября 2018

Если вы хотите автоматическое создание идентификатора, просто используйте index вместо create:

change this
    |
    v
{"index": {"_index": "test", "_type": "_doc"} }
{"user": "kimchy", "post_date": "2002-11-15T14:12:12", "message": "trying out Elasticsearch"}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...