在Liferay 6.2中,我向结构添加了一个新字段,类型为:ddm-date。接下来,在创建具有该结构的文章之后,将其发送到Solr 4.6。不幸的是,发送到Solr的数据的日期格式不正确。看来Liferay将其发送为java.util.Date.toString()
e.g.: Fri Mar 29 00:00:00 CET 2019.
我尝试解析solr中的传入数据。这是我尝试过的:
1。将dateTimeFormat添加到schema.xml中的字段描述中:
<field indexed="true" multiValued="true" name="ddm/79280/realPublishDate_pl_PL" dateTimeFormat="EEE MMM dd HH:mm:ss zzz yyyy" stored="true" type="date" />
这给了我错误:
HTTP Status 500 - {msg=SolrCore 'collection1' is not available due to init failure: Schema Parsing Failed: Invalid field property: dateTimeFormat.
2。将处理器添加到solrconfig.xml中的updateRequestProcessorChain中,如下所示:
<updateRequestProcessorChain name="replica">
<processor class="solr.ParseDateFieldUpdateProcessorFactory">
<str name="fieldName">ddm/79280/realPublishDate_pl_PL</str>
<str name="format">
<str>EEE MMM dd HH:mm:ss zzz yyyy</str>
</str>
</processor>
<processor class="solr.LogUpdateProcessorFactory" />
<processor class="solr.DistributedUpdateProcessorFactory" />
<processor class="solr.RunUpdateProcessorFactory" />
</updateRequestProcessorChain>
<requestHandler class="solr.UpdateRequestHandler" name="/update">
<lst name="defaults">
<str name="update.chain">replica</str>
</lst>
</requestHandler>
这给了我错误:
org.apache.solr.common.SolrException: Error while creating field 'ddm/79280/realPublishDate_pl_PL{type=date,properties=indexed,stored,omitNorms,multiValued,sortMissingLast}' from value 'Sat May 11 00:00:00 CEST 2019'
因此看来该处理器根本没有链接到解析过程吗?
不知道下一步该怎么做。任何帮助将不胜感激。