我正在尝试使用持久性API,使用elasticsearch-dsl 6.2.1版本,如下所示:
class MyClass(Document):
start = Date(format='dd-MM-yyyy HH:mm:ss:SSS')
stop = Date(format='dd-MM-yyyy HH:mm:ss:SSS')
当我呼叫MyClass.init()
时我(通过Kibana(看到,地图确实如我所料:
"start": {
"type": "date",
"format": "dd-MM-yyyy HH:mm:ss:SSS"
},
"stop": {
"type": "date",
"format": "dd-MM-yyyy HH:mm:ss:SSS"
}
我有一个变量my_instance
,它是MyClass
的一个实例。CCD_ 4和CCD_2018年6月15日02:54:05:382'
当我调用my_instance.save()
时,我得到以下异常:
elasticsearch_dsl.exceptions.ValidationException: {'start':
[ValidationException("Could not parse date from the value ('15-06-2018
02:54:05:281')", ValueError('Unknown string format:', '15-06-2018
02:54:05:281'))], 'stop': [ValidationException("Could not parse date from the
value ('15-06-2018 02:54:05:382')", ValueError('Unknown string format:', '15-
06-2018 02:54:05:382'))]}
我做错了什么?
遗憾的是,elasticsearch-dsl
目前只支持ISO格式的日期。如果要使用任何其他格式,则需要自己指定(反(序列化。