您可以按日期过滤搜索结果。如果您想查找在特定时间段内创建或修改的所有文档,这将非常有用。
设置日期字段
要按日期过滤,您需要向索引中添加一个日期字段。您可以通过向架构中添加日期字段来执行此操作。
将以下文档索引到 Elasticsearch 中将创建一个名为 date
的日期字段
{
"date": "2015-01-01"
}
并且您的映射将如下所示
{
"properties": {
"date": {
"type": "date"
}
}
}
过滤器属性配置
向您的索引配置中添加一个过滤器属性。过滤器属性将用于按日期过滤搜索结果。
{
"filter_attributes": [
{ attribute: 'date', field: 'date', type: 'date' },
]
}
NumericFilters 用法
如果您想使用 numericFilters
按日期过滤,例如让组件调整过滤器,您可以使用以下语法
numericFilters: [
`availabilities.start<=${(new Date("2015-01-01")).getTime())}`,
`availabilities.end<=${(new Date("2019-01-01")).getTime())}`
]
请参阅 露营地演示 以了解日期数字过滤器组件示例。
使用过滤器属性
您可以在搜索查询中使用过滤器属性,以在 configure
中按日期过滤搜索结果。
语法示例
"date:2015-01-01" # date is 2015-01-01
"date:[2015-01-01 TO 2015-12-31]" # date is between 2015-01-01 and 2015-12-31
"date:[2015-01-01 TO *]" # date is greater than 2015-01-01
"date:[* TO 2015-12-31]" # date is less than 2015-12-31
使用 configure
client.configure({
filters: 'date:[2015-01-01 TO 2015-12-31]'
})