我正在配置nutch和solr来索引网页及其元数据。其中包含以yyyy-mm-dd格式表示日期的元数据标签,因此它们缺少必需的时间格式扩展,无法作为solr.DateField或solr.TrieDateField使用。我想在日期字段上使用日期范围,但如果没有将它们转换成这些格式之一,就无法实现,对吗?
目前我的日期是作为文本包含在模式中的。
每当我使用这个作为字段定义时...
我收到了这个错误信息:
目前我的日期是作为文本包含在模式中的。
<fieldType name="string" class="solr.StrField" sortMissingLast="true" omitNorms="true"/>
...
<field name="Date Modified" type="string" stored="true" indexed="true" multiValued="true"/>
每当我使用这个作为字段定义时...
<fieldType name="date" class="solr.TrieDateField" omitNorms="true" positionIncrementGap="0"/>
<field name="Date Modified" type="date" stored="true" indexed="true" multiValued="true"/>
我收到了这个错误信息:
...
2012-05-02 23:45:58,370 WARN mapred.LocalJobRunner - job_local_0029
org.apache.solr.common.SolrException: ERROR: [doc=http://ec.gc.ca/] Error adding field 'Date Modified'='2011-12-05'
ERROR: [doc=http://ec.gc.ca/] Error adding field 'Date Modified'='2011-12-05'
request: http://localhost:8983/solr/update?wt=javabin&version=2
at org.apache.solr.client.solrj.impl.CommonsHttpSolrServer.request(CommonsHttpSolrServer.java:430)
at org.apache.solr.client.solrj.impl.CommonsHttpSolrServer.request(CommonsHttpSolrServer.java :244)
at org.apache.solr.client.solrj.request.AbstractUpdateRequest.process(AbstractUpdateRequest.j ava:105)
at org.apache.solr.client.solrj.SolrServer.add(SolrServer.java:49)
at org.apache.nutch.indexer.solr.SolrWriter.close(SolrWriter.java:93)
at org.apache.nutch.indexer.IndexerOutputFormat$1.close(IndexerOutputFormat.java:48)
at org.apache.hadoop.mapred.ReduceTask.runOldReducer(ReduceTask.java:474)
at org.apache.hadoop.mapred.ReduceTask.run(ReduceTask.java:411)
at org.apache.hadoop.mapred.LocalJobRunner$Job.run(LocalJobRunner.java:216)
2012-05-02 23:45:58,966 ERROR solr.SolrIndexer - java.io.IOException: Job failed!
我浏览了不同的论坛,但没有找到有效的解决方案。可能是我对数据导入处理方面的知识掌握不够全面。我需要在nutch配置中做出改变才能得到正确格式的日期字段吗?
非常感谢!
祝一切顺利!