Skip to content

21 elasticsearch实现像Google一样的时间范围搜索

Jinxin Chen edited this page Dec 11, 2019 · 1 revision

本文介绍如何在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

参考

Clone this wiki locally