Как мы можем вставить документ в Elasti c Search? ‽‽? - PullRequest
0 голосов
/ 05 февраля 2020

Я следую инструкции: https://www.elastic.co/guide/en/elasticsearch/reference/current/getting-started-index.html

Когда я копирую команду для вставки документа, а затем вставляю ее в windows cmd, мы видим следующее:

C:\Users\ymorenoj\Downloads\elasticsearch-7.5.2-windows-x86_64\elasticsearch-7.5.2\bin>curl -X PUT "localhost:9200/customer/_doc/1?pretty" -H 'Content-Type: application/json' -d'
{
  "error" : "Content-Type header [application/x-www-form-urlencoded] is not supported",
  "status" : 406
}
curl: (6) Could not resolve host: application

C:\Users\ymorenoj\Downloads\elasticsearch-7.5.2-windows-x86_64\elasticsearch-7.5.2\bin>{
"{" no se reconoce como un comando interno o externo,
programa o archivo por lotes ejecutable.

C:\Users\ymorenoj\Downloads\elasticsearch-7.5.2-windows-x86_64\elasticsearch-7.5.2\bin>  "name": "John Doe"
""name":" no se reconoce como un comando interno o externo,
programa o archivo por lotes ejecutable.

C:\Users\ymorenoj\Downloads\elasticsearch-7.5.2-windows-x86_64\elasticsearch-7.5.2\bin>}
"}" no se reconoce como un comando interno o externo,
programa o archivo por lotes ejecutable.

C:\Users\ymorenoj\Downloads\elasticsearch-7.5.2-windows-x86_64\elasticsearch-7.5.2\bin>'
"'" no se reconoce como un comando interno o externo,
programa o archivo por lotes ejecutable.

Итак, я отредактировал команду так, чтобы она поместилась в одну строку:

curl -XPUT "localhost:9200/customer/_doc/1?pretty" -H 'Content-Type: application/json' -d '{"name":"John Doe"}'

И когда мы ее выполним, cmd выведет:

C:\Users\ymorenoj\Downloads\elasticsearch-7.5.2-windows-x86_64\elasticsearch-7.5.2\bin>curl -XPUT "localhost:9200/customer/_doc/1?pretty" -H 'Content-Type: application/json' -d '{"name":"John Doe"}'
{
  "error" : "Content-Type header [application/x-www-form-urlencoded] is not supported",
  "status" : 406
}
curl: (6) Could not resolve host: application

Я прочитал:

Заголовок Content-Type [application / x- www-form-urlencoded] не поддерживается в Elasticsearch

И я проверил, что я уже написал: -H 'Content-Type: application/json'

Кроме того, я прочитал:

Заголовок Content-Type [application / x- www-form-urlencoded] не поддерживается

И я пытался поместите двойные кавычки вокруг localhost и content-type:

curl -XPUT "localhost:9200/customer/_doc/1?pretty" -H "Content-Type: application/json" -d '{"name":"John Doe"}'

После его выполнения мы наблюдаем:

C:\Users\ymorenoj\Downloads\elasticsearch-7.5.2-windows-x86_64\elasticsearch-7.5.2\bin>curl -XPUT "localhost:9200/customer/_doc/1?pretty" -H "Content-Type: application/json" -d '{"name":"John Doe"}'
{
  "error" : {
    "root_cause" : [
      {
        "type" : "not_x_content_exception",
        "reason" : "not_x_content_exception: Compressor detection can only be called on some xcontent bytes or compressed xcontent bytes"
      }
    ],
    "type" : "mapper_parsing_exception",
    "reason" : "failed to parse",
    "caused_by" : {
      "type" : "not_x_content_exception",
      "reason" : "not_x_content_exception: Compressor detection can only be called on some xcontent bytes or compressed xcontent bytes"
    }
  },
  "status" : 400
}

Кроме того, я попытался заменить обе кавычки одинарными кавычками, а затем здесь у нас есть трассировка cmd:

C:\Users\ymorenoj\Downloads\elasticsearch-7.5.2-windows-x86_64\elasticsearch-7.5.2\bin>curl -XPUT 'localhost:9200/customer/_doc/1?pretty' -H 'Content-Type: application/json' -d '{"name":"John Doe"}'
curl: (6) Could not resolve host: 'localhost
curl: (6) Could not resolve host: application

Плюс, чтобы проверить, есть ли у нас Elasti c Поиск и запуск:

C:\Users\ymorenoj\Downloads\elasticsearch-7.5.2-windows-x86_64\elasticsearch-7.5.2\bin>curl -X GET "localhost:9200/_cat/health?v&pretty"
epoch      timestamp cluster       status node.total node.data shards pri relo init unassign pending_tasks max_task_wait_time active_shards_percent
1580922144 17:02:24  elasticsearch green           2         2      2   1    0    0        0             0                  -                100.0%

Как мы можем решить эту проблему? ‽‽?

1 Ответ

1 голос
/ 05 февраля 2020

хах, windows и curl могут быть громоздкими ...

в windows, эта версия работает:

curl -XPUT "localhost:9200/customer/_doc/1?pretty" -H "Content-Type: application/json" -d "{""name"":""John Doe""}"

Обратите внимание на двойные кавычки внутри json .

Если вы работаете в windows, попробуйте подсистему Windows Linux (WSL) или Cygwin. Это вам очень поможет. Другой вариант - установить kibana и использовать инструменты разработчика

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