【发布时间】:2020-12-17 08:58:18
【问题描述】:
索引映射
"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()
在执行保存方法时,它只为 review_start_datetime 字段而不是 review_start_time 给出以下错误。
elasticsearch.exceptions.RequestError: RequestError(400, 'mapper_parsing_exception', "解析字段失败 [review_start_datetime] 类型为 [date] 的文档中具有 id 'DEMO_54ddab6'")
【问题讨论】:
-
您确定没有为 review_start_datetime 定义“格式”吗?
-
@SahilGupta 是的。映射同上。
-
您正在将
datetime对象转储到该字段中,而 ES 期待更像字符串的东西。使用obj.strftime('yyyy-MM-dd HH:mm:ss')解析对象
标签: python-3.x elasticsearch elasticsearch-dsl elasticsearch-dsl-py