如何使用搜索API获取最新的弹性搜索结果

时间:2015-10-21 19:33:48

标签: api search elasticsearch

我有一个ElasticSearch集群,我正在尝试使用RESTful Search API查询它。我的查询将返回最旧的结果,但我想要最新的,所以我添加了范围过滤器

curl -XGET 'https://cluster.com/_search' -d '{
  "from": 0, "size": 10000,
  "range" : {
    "@timestamp" : {
      "gt": "now-1h"   
    }
  }
}'

但是我收到以下错误

"error":"SearchPhaseExecutionException[Failed to execute phase [query],.....Parse Failure [Failed to parse source.........Parse Failure [No parser for element [range]]]

我已尝试使用@timestamptimestamp_timestamp来代替变量名称,但这并不起作用。我还确认是导致请求失败的范围选项。

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

您的查询格式不正确,您错过了"查询"电平:

curl -XGET 'https://cluster.com/_search' -d '{
  "from": 0, "size": 10000,
  "query": {
    "range" : {
      "@timestamp" : {
        "gt": "now-1h"   
      }
    }
  }
}'