elasticsearch,postman,Http,elasticsearch,Postman" /> elasticsearch,postman,Http,elasticsearch,Postman" />

Http 邮递员/ElasticSearch:curl与通过邮递员发送的结果之间的差异

Http 邮递员/ElasticSearch:curl与通过邮递员发送的结果之间的差异,http,elasticsearch,postman,Http,elasticsearch,Postman,当从邮递员处触发时,以下查询不会返回正确的数据。 仅获取包含host==host-2的搜索数据的意图 POST - {{SERVER}}/elasticsearch/{{INDEX}}/_search { "query": { "query": { "query_string": { "query": "host:host-2", "analyze_wildcard": true } } } } 虽然curl命令可

当从邮递员处触发时,以下查询不会返回正确的数据。 仅获取包含host==host-2的搜索数据的意图

POST - {{SERVER}}/elasticsearch/{{INDEX}}/_search
{
  "query": {
    "query": {
      "query_string": {
        "query": "host:host-2",
        "analyze_wildcard": true
      }
    }
  }
}
虽然curl命令可以很好地工作:

curl -k -XPOST 'https://{{SERVER}}/elasticsearch/{{INDEX}}/_search' -d '{
  "query": {
    "query": {
      "query_string": {
        "query": "host:host-2",
        "analyze_wildcard": true
      }
    }
  }
}'
另外,以下调用将从POSTMAN返回正确的结果!!:

{{SERVER}}/elasticsearch/{{INDEX}}/_search?q=host:host-2
这是因为通过curl发送的'-d'不是通过邮递员发送的吗?是否需要从邮递员发送其他http格式

确定-下面的工作(在服务器调用之前加上HTTPS://)。令人惊讶的是,当我删除https时,它会返回GET call的结果,而不是POST

POST - https://{{SERVER}}/elasticsearch/{{INDEX}}/_search
{
  "query": {
    "query": {
      "query_string": {
        "query": "host:host-2",
        "analyze_wildcard": true
      }
    }
  }
}

谢谢@Val

你能添加一个HTTP请求头
内容类型:application/json
并看看它是否有用吗?除了你的查询格式不正确之外,你似乎还有一个太多的
查询
。谢谢@Val-这很有效