2016-09-19 3 views
1

Я пытаюсь индексировать некоторые данные, но я получаю ошибкуElasticsearch-р уродлива

error: reason: failed to parse [date] type: mapper_parsing_exception, caused_by: Invalid format: 2016-08-12\t17:35:26 is malformed at \t17:35:26 

Моего отображение выглядит

'date': { 'type': 'date', 'format': 'dateOptionalTime' }, 

Есть другой способ создания отображения даты?

EDIT: Вот строка из документа. Я могу заставить его индексировать просто отлично, когда я устанавливаю время для строки и даты на сегодняшний день, но дата показывает фиктивное время, прикрепленное к ней. Таким образом, похоже, что ES принимает мою дату (2016/9/20) и добавляет к ней время. В моем случае он добавляет 19:00:00. Вот почему я не могу понять, почему ему не нравится время.

2016-06-14 18:12:35 1.1.1.1 GET /origin-www.origin.com/Images/pipe-gray.png? 200 1442 0 "http://www.origin.com/Main.css" "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.84 Safari/537.36" "__qca=P0-920525163; s_fid=4CDFF16906A35CC4; __CSCookie=z5ayStQYdIbcPTxGKyhsjRIi0peP5GAP6K; icxid=1459286804904; icxid=1459286804904; ASP.NET_SessionId=dzg3esjzp4tpg; __SessionCookie=gXA9BuDiF245ZJeuh; dtCookie=0C05828501CE759D; s_vi=[CS]v1|2A069D04051D2E2A; __CSUserIbcIDCookie=NL7VeN+rh05z5FWSCgTnzTC6G;" 
+1

Можете ли вы опубликовать исходный документ, который вы пытаетесь проиндексировать? Ваша дата должна быть в этом формате «2016-08-12T17: 35: 26» – jay

+0

добавлен в вопрос – maltman

+0

Итак, я решил, что исправил ее, добавив «date»: {'type': 'date', 'format': "yyyy -MM-dd HH: mm: ss || ISO8601 || yyyy-MM-ddTHH: mm: ss || yyyy-MM-dd'T'HH: mm: ss "}, Но все это было создание даты как строка – maltman

ответ

1

Перед добавлением даты Хеш или перед и кормить его JSON, конвертировать дату "2016-02-10 \ t10: 25: 30" к этому "2016-02-10T10: 25: 30"

Если вы дадите elasticsearch этот формат, вы сможете использовать исходное сопоставление - dateOptionalTime.

Смежные вопросы