如何在Postman中发送elasticsearch多搜索请求?

时间:2017-08-01 11:59:48

标签: elasticsearch postman

我正在尝试通过postman发送elasticserach多搜索请求,如下所示:

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)

3 个答案:

答案 0 :(得分:17)

这里有三件事很重要:

  1. 插入正文时,从下拉列表中选择原始单选按钮和文字(或JSON)。
  2. 添加标题:内容类型:application / x-ndjson
  3. 最重要的是:在查询的最后一行之后加上新行
  4. <强>体: enter image description here

    标题

    enter image description here

    卷曲版本:

    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":{}}}
    '
    

答案 1 :(得分:2)

您还可以将请求主体设置为json格式,并将Content-Type更改为application / json,请如下所示

Header with Content-Type

Your search request with json type

Response data

答案 2 :(得分:0)

当我在Elasticsearch中使用_msearch API时,我发现了“预期的[START_OBJECT]错误,但发现的是[null]”。

Response of this api

Request parameters and url