Как отправить запрос поиска elasticsearch multi в Postman?

Я пытаюсь отправить запрос поиска elasticserach multi через postman, как показано ниже:

POST - http://localhost:9200/_msearch
content-type : x-www-form-urlencoded
body:
{"index":"accounts"}
{"query":{"bool":{"should":[{"match":{"owner.first_name":"Creeple"}}]}}}

тем не менее, я получаю следующую ошибку:

{
  "error": {
    "root_cause": [
      {
        "type": "parse_exception",
        "reason": "Failed to derive xcontent"
      }
    ],
    "type": "parse_exception",
    "reason": "Failed to derive xcontent"
  },
  "status": 400
}

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

WS.url("localhost:9200/_msearch").withHeaders("Content-type" -> "application/x-www-form-urlencoded").post(query)

1 ответов


здесь важны три вещи:

  1. при вставке тела, выберите raw radiobutton и текст (или JSON) из раскрывающегося списка.
  2. добавить заголовок: тип контента: application / x-ndjson
  3. самое главное: поставить новая строка после последней строки вашего запрос

тело: enter image description here

заголовок:

enter image description here

версия Curl:

curl -X POST \
  http://127.0.0.1:9200/_msearch \
  -H 'cache-control: no-cache' \
  -H 'content-type: application/x-ndjson' \
  -d '{"index":"script","type":"test"}
{"query":{"match_all":{}}}
'