elasticsearch,logstash,Curl,elasticsearch,Logstash" /> elasticsearch,logstash,Curl,elasticsearch,Logstash" />

Curl 范围查询中不支持Elasticsearch字段

Curl 范围查询中不支持Elasticsearch字段,curl,elasticsearch,logstash,Curl,elasticsearch,Logstash,我正在使用curl查询尝试从elasticsearch实例获取数据。我所有的索引和类型都有一个字段调用@timestamp,它使用“strict\u date\u optional\u time”格式。但每次我尝试在该字段上使用范围过滤器时,我的查询都会失败 我执行的查询: curl'localhost:X/logstash-*/traces\u console/\u search'-d'{ “查询”:{ “布尔”:{ “必须”:[ {“全部匹配”:{} ], “过滤器”:[ {“范围”: {@

我正在使用curl查询尝试从elasticsearch实例获取数据。我所有的索引和类型都有一个字段调用@timestamp,它使用“strict\u date\u optional\u time”格式。但每次我尝试在该字段上使用范围过滤器时,我的查询都会失败

我执行的查询:

curl'localhost:X/logstash-*/traces\u console/\u search'-d'{
“查询”:{
“布尔”:{
“必须”:[
{“全部匹配”:{}
],
“过滤器”:[
{“范围”:
{@timestamp”:
“gte”:“2018-02-20T13:55:06.387Z”,
“lte”:“2018-02-23T13:55:06.387Z”
}
}
]
}}
}'
错误消息:

“原因”:{
“类型”:“查询\解析\异常”,
“原因”:“[range]查询不支持[@timestamp]”,
“索引”:“logstash-2018.02.06”,“行”:10,“列”:21
}
我不明白为什么这个错误不断出现。当我看到大多数已经发表的关于这个的文章时,所有使用日期格式的人都有工作查询。如果你有任何关于它为什么不起作用的提示或线索,我将不胜感激

以下是一些有用的信息:

环境

  • OS:Red Hat Enterprise Linux Server 6.5版(圣地亚哥)
  • Java:1.7
  • 弹性搜索:2.4
  • 日志存储:2.4
从logstash生成的映射

“跟踪控制台”:{
“财产”:{
“@timestamp”:{
“类型”:“日期”,
“格式”:“严格的日期可选时间纪元”
},
“@version”:{“type”:“string”},
“方法”:{“类型”:“字符串”},
“RequestSize”:{“type”:“string”},
“ResponseSize”:{“type”:“string”},
“响应时间”:{“类型”:“字符串”},
“子系统”:{“类型”:“字符串”},
“column1”:{“type”:“string”},
“column2”:{“type”:“string”},
“column3”:{“type”:“string”},
“column4”:{“type”:“string”},
“column5”:{“type”:“string”},
“主机”:{“类型”:“字符串”},
“路径”:{“类型”:“字符串”},
“类型”:{“类型”:“字符串”}
}
}
日志存储配置文件馈送elasticsearch

输入{
文件{
path=>“LOG\u path/TRACES\u CONSOLE.LOG”
开始位置=>“开始”
类型=>“跟踪\u控制台”
}
}
滤器{
csv{
分隔符=>“;”
列=>[“方法”、“请求大小”、“响应大小”、“响应时间”、“子系统”]
source=>消息
转换=>{
“RequestSize”=>“日期”
“ResponseSize”=>“日期”
}
删除_字段=>[“消息”]
}
}
输出{
弹性搜索{
hosts=>[“localhost:X”]
}
}
您的错误,您需要额外的花括号:

{ "range":
     { "@timestamp": {
           "gte": "2018-02-20T13:55:06.387Z",
           "lte": "2018-02-23T13:55:06.387Z"
       }
     }
 }
您的错误,您需要额外的花括号:

{ "range":
     { "@timestamp": {
           "gte": "2018-02-20T13:55:06.387Z",
           "lte": "2018-02-23T13:55:06.387Z"
       }
     }
 }

非常感谢,这就是问题所在!我觉得自己很蠢,但我有时会被卷曲查询中的括号弄糊涂……是的,有时候会发生这种情况!我建议您使用某种JSON格式化程序,它对于复杂的查询非常有用。非常感谢,这就是问题所在!我觉得自己很蠢,但我有时会被卷曲查询中的括号弄糊涂……是的,有时候会发生这种情况!我建议您使用某种JSON格式化程序,它对于复杂查询非常有用。