我正在使用date_histogram api来获取使用间隔(小时/天/周或月)的实际计数。此外,我有一个功能,我无法实现,用户可以通过输入startDate和endDate(文本框)来过滤结果,将使用字段时间戳查询。那么如何在使用date_histogram api或任何api时只通过查询一个字段(即TIMESTAMP)来过滤结果,这样我就可以达到我想要的结果。
在SQL中,我将使用一个between运算符来获得结果,但是从我到目前为止所读到的,它们在弹性搜索中并不是BETWEEN运算符(不确定)。
到目前为止我有这个脚本:
curl 'http://anotherdomain.com:9200/myindex/_search?pretty=true' -d '{
"query" : {
"filtered" : {
"filter" : {
"exists" : {
"field" : "adid"
}
},
"query" : {
"query_string" : {
"fields" : [
"adid", "imp"
],
"query" : "525826 AND true"
}
}
}
},
"facets" : {
"histo1":{
"date_histogram":{
"field":"timestamp",
"interval":"day"
}
}
}
}'