Я создал индекс вasticsearch с несколькими полями даты и отформатировал столбец как yyyy-mm-dd HH:mm:ss
.В конце концов я обнаружил, что дата искажена и вводит неправильные данные в поля.В индексе более 600 000 записей, и я не хочу оставлять какие-либо данные.Теперь мне нужно создать другое поле или новый индекс с тем же полем даты и форматом, что и YYYY-MM-ddTHH:mm:ss.Z
, и мне нужно заполнить все записи новым индексом или новыми полями.
Я использовал конвейер обработки данных, как показано ниже.но это не удается.Исправьте меня здесь, что-то не так.
PUT _ingest/pipeline/date-malform
{
"description": "convert malformed date to timestamp",
"processors": [
{
"date": {
"field": "event_tm",
"target_field" : "event_tm",
"formats" : ["YYYY-MM-ddThh:mm:ss.Z"]
"timezone" : "UTC"
}
},
{
"date": {
"field": "vendor_start_dt",
"target_field" : "vendor_start_dt",
"formats" : ["YYYY-MM-ddThh:mm:ss.Z"]
"timezone" : "UTC"
}
},
{
"date": {
"field": "vendor_end_dt",
"target_field" : "vendor_end_dt",
"formats" : ["YYYY-MM-ddThh:mm:ss.Z"]
"timezone" : "UTC"
}
}
]
}
Я создал конвейер и использовал переиндексацию, как показано ниже
POST _reindex
{
"source": {
"index": "tog_gen_test"
},
"dest": {
"index": "data_mv",
"pipeline": "some_ingest_pipeline",
"version_type": "external"
}
}
Я получаю приведенную ниже ошибку при выполнении переиндексации
"failures": [
{
"index": "data_mv",
"type": "_doc",
"id": "rwN64WgB936y_JOyjc57",
"cause": {
"type": "exception",
"reason": "java.lang.IllegalArgumentException: java.lang.IllegalArgumentException: unable to parse date [2019-02-12 10:29:35]",
"caused_by": {
"type": "illegal_argument_exception",
"reason": "java.lang.IllegalArgumentException: unable to parse date [2019-02-12 10:29:35]",
"caused_by": {
"type": "illegal_argument_exception",
"reason": "unable to parse date [2019-02-12 10:29:35]",
"caused_by": {
"type": "illegal_argument_exception",
"reason": "Illegal pattern component: T"
}
}