cdi*_*run 2 lucene search elasticsearch range-query
我的elasticsearch有数据,尤其是日期类似的东西:
{
"startTime": {
"type": "string",
"format": "yyyy/MM/dd",
"index": "analyzed",
"analyzer": "keyword"
}
}
Run Code Online (Sandbox Code Playgroud)
我正在添加一个日期范围选择器,并希望使用所选日期来查询elasticsearch以获取所选范围内的startTime数据.我不确定如何将此查询构造为elasticsearch,或者它是否可以使用这是一个字符串字段(尽管我可以改变它).
有人能帮我一下吗?
您的字段是字符串,格式属性将被忽略.您应该更改映射并使用date类型.看看这里有弹性搜索中可用的核心类型.
我会使用过滤器而不是查询.它将被缓存,因此更快.以下是过去7天的示例:
{
"filter" : {
"range" : {
"PublishTime" : {
"from" : "20130505T000000",
"to" : "20131105T235959"
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
请注意,如果您使用这样的过滤器,那么整天都将使用相同的过滤器,因此您可以充分利用缓存.
| 归档时间: |
|
| 查看次数: |
14493 次 |
| 最近记录: |