2

索引映射

"review_start_datetime" : {
   "type" : "date"
},
"review_start_time" : {
   "type" : "date"
}

班级

from elasticsearch_dsl import Document, Date

class DocumentX(Document):
    review_start_datetime = Date(format='yyyy-MM-dd HH:mm:ss',
                            default_timezone="UTC")

创建数据

doc = DocumentX.get('DEMO_54ddab6')
doc.review_start_time = datetime.datetime.now()
doc.review_start_datetime = datetime.datetime.now()
doc.save()

在执行 save 方法时,它仅针对review_start_datetime字段而不是review_start_time给出以下错误。

elasticsearch.exceptions.RequestError:RequestError(400,'mapper_parsing_exception',“无法解析ID为'DEMO_54ddab6'的文档中类型[日期]的字段[review_start_datetime]”)

4

2 回答 2

3

通过在索引映射中添加 DateTime 格式,它将解决。

"review_start_datetime" : {
    "type" : "date",
    "format" : "yyyy-MM-dd HH:mm:ss"
},
于 2020-08-29T05:59:23.007 回答
0

我在各种工具中遇到了同样的错误,例如 Apache NiFi 和 Logstash。我的问题是我想将 MongoDB 文档放在 Elasticsearch 索引中,这些文档已经包含该_id字段,并且当我想制作该 Elasticsearch 数据库时,_id将制作与之前的字段不存在的新字段. 因此,这会导致错误。解决方案可能是_id在将文档放入 Elastic 之前删除/更改文档中的字段。

于 2021-10-13T14:26:20.040 回答