Elasticsearch 不会根据提供的时间戳映射“yyyy-MM-dd hh:mm:ss”过滤带有时间戳的文档

时间:2021-08-01 13:13:23

标签: elasticsearch timestamp

我有一个名为“car”的 Elasticsearch 索引,其属性名称为“created at”,它存储了汽车对象创建时的时间戳。

{
  "car_name": "sendrel",
  "brand": "toyota",
  "price": 12500,
  "timestamp": "2021-02-02 00:00:00"  
}

由于 ES 默认使用“yyyy-MM-dd”,因此通过向 documentation 之后的 ES 文档“car”发出放置请求来更改时间戳映射{{3}}

PUT http://localhost:9200/car
{
  "mappings": {
    "properties": {
      "timestamp": {
        "type":   "date",
        "format": "YYYY-MM-dd HH:mm:ss"
      }
    }
  }
}

然而,当我尝试在这个大于时间戳的“汽车”索引中进行查询时,它给了我所有的文档。

我的查询如下:

query: {
        bool: {
          must: [
                 { 
                   range: { 
                            timestamp: { 
                                          gte: '2021-01-01 00:00:00' 
                                        } 
                          } 
                 }
          ]
        },
      },

我是 Elasticsearch 的新手,所以请提供描述性的答案并推荐我一些博客。

0 个答案:

没有答案