我的elasticsearch有数据,特别是日期的数据:
{
"startTime": {
"type": "string",
"format": "yyyy/MM/dd",
"index": "analyzed",
"analyzer": "keyword"
}
}我正在添加一个date range picker,并希望使用挑选的日期来查询elasticsearch中选择的startTime范围内的数据。我不确定如何在elasticsearch中构造这个查询,也不确定它作为字符串字段是否可以工作(不过我可能会修改它)。
有人能帮我吗?
发布于 2013-05-11 17:02:05
您的字段是字符串,将忽略format属性。您应该更改映射并使用date类型。看看here,看看elasticsearch中可用的核心类型。
我会使用筛选器而不是查询。它将被缓存,因此速度更快。以下是最近7天的示例:
{
"filter" : {
"range" : {
"PublishTime" : {
"from" : "20130505T000000",
"to" : "20131105T235959"
}
}
}
}请注意,如果您像这样使用筛选器,那么它将一整天都是相同的筛选器,因此您可以很好地利用缓存。
https://stackoverflow.com/questions/16492534
复制相似问题