Морфлайны исключение формата даты
Я хочу преобразовать поле в формат даты следующим образом:
{
convertTimestamp {
field : document_date
inputFormats : ["yyyy-MM-dd"]
inputTimezone : UTC
outputFormat : "yyyy"
outputTimezone : UTC
}
Формат ввода yyyy-MM-dd
и я хочу вывести только часть года yyyy
,
Но когда я запускаю его - у меня есть исключение: org.apache.solr.common.SolrException: Invalid Date String:'1992-06-04'
,
Я читал здесь, что морфлайн требует обязательного формата yyyy-MM-dd'T'HH:mm:ss'Z'
но вы можете найти на Github morphline, что TimestampBuilder имеет формат даты по умолчанию, например:
DEFAULT_DATE_FORMATS.add("yyyy-MM-dd");
Исключение сохраняется, даже если я изменяю формат вывода на yyyy-MM-dd
, Он исчезает только тогда, когда я добавляю постоянный суффикс, например: T23:59:59Z
1 ответ
Это не о чем Morphline's
формат по умолчанию. Я довольно долго работал с Solr, и единственный формат, который он поддерживает yyyy-MM-dd'T'HH:mm:ss'Z'
, Ниже приведена очень описательная документация об этом только на веб-странице документации Solr.
Кроме того, ссылка на Morphline's Github Code
утверждает в своих последних комментариях эту вещь A suite of default date formats that can be parsed,
и, таким образом, преобразован в конкретный формат Solr. Найти ниже изображение для справки
Таким образом, в основном, он также соответствует стандартному формату Solr, и в конечном итоге такие форматы просто делают хороших кандидатов для преобразования в формат Solr. Надеюсь это поможет:) .