0

我想像这样将字段转换为日期格式:

{ 
    convertTimestamp {
        field : document_date
        inputFormats : ["yyyy-MM-dd"]
        inputTimezone : UTC
        outputFormat : "yyyy"
        outputTimezone : UTC
}

输入格式是yyyy-MM-dd,我只想输出 year's part yyyy

但是当我运行它时 - 我有一个例外: org.apache.solr.common.SolrException: Invalid Date String:'1992-06-04'.

我在这里读到morphline 需要强制格式yyyy-MM-dd'T'HH:mm:ss'Z',但您可以在 morphline 的Github上找到 TimestampBuilder 具有默认格式日期,例如:

DEFAULT_DATE_FORMATS.add("yyyy-MM-dd"); 

即使我将输出格式更改为yyyy-MM-dd. 只有当我添加常量后缀时它才会消失,例如:T23:59:59Z

4

1 回答 1

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 格式的好候选。希望这可以帮助 :) 。

于 2016-07-01T14:29:01.630 回答