21 elasticsearch实现像Google一样的时间范围搜索 - xiaoxin01/Blog GitHub Wiki
本文介绍如何在elasticsearch上时间像Google一样的按时间范围搜索
Google搜索的时候,可以选择时间范围,过去1小时、24小时甚至自定义时间范围,这个功能在elasticsearch平台上,可以用range来实现,语法如下:
GET _search
{
"query": {
"bool": {
"must":[{
"query_string": {
"fields" : ["title^2", "content"],
"query" : "*",
"default_operator": "AND"
}
},{
"range" : {
"modified" : {
"gte" : "now-1h"
}
}
}]
}
}
}其中 timestamp 为已经索引资料的包含时间信息的栏位,这个需要预先处理好。
另外时间单位可以参考:
| units | mean |
|---|---|
| y | Years |
| M | Months |
| w | Weeks |
| d | Days |
| h | Hours |
| H | Hours |
| m | Minutes |
| s | Seconds |