如何在我的 elasticsearch 查询中附加时间戳范围?
How could I append time stamp range within my elasticsearch query?
我正在尝试将 elasticsearch 查询作为 POST
请求执行,以便从我创建的索引中提取数据。索引中的数据是来自 MySQL 数据库的 table,通过 logstash
.
配置
这是我的请求和 JSON
正文:
http://localhost:9200/response_summary/_search
正文:
{
"query": {
"query_string": {
"query": "transactionoperationstatus:\"charged\" AND api:\"payment\" AND operatorid:\"XL\" AND userid:*test AND time:\"2015-05-27*\" AND responsecode:(200+201)"
}
},
"aggs": {
"total": {
"terms": {
"field": "userid"
},
"aggs": {
"total": {
"sum": {
"script": "Double.parseDouble(doc['chargeamount'].value)"
}
}
}
}
}
}
在上面的 JSON
正文中,我需要将 timestamp
附加到 query_string
中,以便在日期范围内从索引中获取数据。我尝试在查询末尾添加:
AND timestamp:[2015-05-27T00:00:00.128Z+TO+2015-05-27T23:59:59.128Z]"
我哪里错了?任何帮助将不胜感激。
您只需要删除 +
,因为只有在通过 URL 查询字符串发送查询时才需要它们(即 URL 对空格进行编码),但是如果你使用 query_string
查询,你不需要这样做
AND timestamp:[2015-05-27T00:00:00.128Z TO 2015-05-27T23:59:59.128Z]"
^ ^
| |
remove these
我正在尝试将 elasticsearch 查询作为 POST
请求执行,以便从我创建的索引中提取数据。索引中的数据是来自 MySQL 数据库的 table,通过 logstash
.
这是我的请求和 JSON
正文:
http://localhost:9200/response_summary/_search
正文:
{
"query": {
"query_string": {
"query": "transactionoperationstatus:\"charged\" AND api:\"payment\" AND operatorid:\"XL\" AND userid:*test AND time:\"2015-05-27*\" AND responsecode:(200+201)"
}
},
"aggs": {
"total": {
"terms": {
"field": "userid"
},
"aggs": {
"total": {
"sum": {
"script": "Double.parseDouble(doc['chargeamount'].value)"
}
}
}
}
}
}
在上面的 JSON
正文中,我需要将 timestamp
附加到 query_string
中,以便在日期范围内从索引中获取数据。我尝试在查询末尾添加:
AND timestamp:[2015-05-27T00:00:00.128Z+TO+2015-05-27T23:59:59.128Z]"
我哪里错了?任何帮助将不胜感激。
您只需要删除 +
,因为只有在通过 URL 查询字符串发送查询时才需要它们(即 URL 对空格进行编码),但是如果你使用 query_string
查询,你不需要这样做
AND timestamp:[2015-05-27T00:00:00.128Z TO 2015-05-27T23:59:59.128Z]"
^ ^
| |
remove these