文档
指南
按日期值过滤

您可以按日期过滤搜索结果。如果您想查找在特定时间段内创建或修改的所有文档,这将非常有用。

设置日期字段

要按日期过滤,您需要向索引中添加一个日期字段。您可以通过向架构中添加日期字段来执行此操作。

将以下文档索引到 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]'
 })

Apache 2.0 2024 © Joseph McElroy。
需要帮助?加入 Discord