Elasticsearch отображение пустой строки
В Elasticsearch одним из моих полей является дата, для которой я определяю сопоставление с пользовательским форматом даты, соответствующим моей дате.
Тем не менее, в некоторых случаях значение моего поля даты является просто пустой строкой "LastUpdateDate": ""
и вызывает исключение. Как я могу обработать пустую строку в отображении для поля даты?
Unexpected error: (<class 'elasticsearch.helpers.BulkIndexError'>, BulkIndexError(u'1 document(s) failed to index.', [{u'create':
{u'status': 400, u'_type': u'songs', u'_id': u'AVNtiXgTC4kaHLfuKAJA', u'error': {u'caused_by': {u'reason': u'Invalid format: ""',
u'type': u'illegal_argument_exception'}, u'reason': u'failed to parse [LastUpdateDate]', u'type': u'mapper_parsing_exception'},
u'_index': u'album-032016'}}]), <traceback object at 0x7fba4395c1b8>)
1 ответ
Вы должны использовать null
а не "" в LastUpdateDate
поле даты.
Другой вариант - изменить настройки уровня индекса: index.mapping.ignore_malformed:true
Попытка индексировать неправильный тип данных в поле вызывает исключение по умолчанию и отклоняет весь документ. Параметр ignore_malformed, если он установлен в значение true, позволяет игнорировать исключение. Неправильное поле не проиндексировано, но другие поля в документе обрабатываются нормально.
https://www.elastic.co/guide/en/elasticsearch/reference/current/ignore-malformed.html