我正在尝试使用solr和DIH来索引csv文件。 我使用solr wiki上提到的补丁SOLR-2549修补了我的DIH库(参见http://wiki.apache.org/solr/DataImportHandler#Configuration_in_data-config.xml-1),以便在不使用变形金刚和LineEntityProcessor的情况下导入csv文件。
不幸的是,我无法获得导入工作,并且我有以下错误堆栈:
INFO: [csv] webapp=/solr path=/dataimport params={command=full-import&optimize=false&clean=true&commit=true&verbose=true} status=0 QTime=33 {deleteByQuery=*:*} 0 33
7 nov. 2012 14:16:03 org.apache.solr.common.SolrException log
GRAVE: Full Import failed:java.lang.RuntimeException: java.lang.RuntimeException: org.apache.solr.handler.dataimport.DataImportHandlerException: java.lang.NullPointerException
at org.apache.solr.handler.dataimport.DocBuilder.execute(DocBuilder.java:273)
at org.apache.solr.handler.dataimport.DataImporter.doFullImport(DataImporter.java:382)
at org.apache.solr.handler.dataimport.DataImporter.runCmd(DataImporter.java:448)
at org.apache.solr.handler.dataimport.DataImporter$1.run(DataImporter.java:429)
Caused by: java.lang.RuntimeException: org.apache.solr.handler.dataimport.DataImportHandlerException: java.lang.NullPointerException
at org.apache.solr.handler.dataimport.DocBuilder.buildDocument(DocBuilder.java:413)
at org.apache.solr.handler.dataimport.DocBuilder.doFullDump(DocBuilder.java:326)
at org.apache.solr.handler.dataimport.DocBuilder.execute(DocBuilder.java:234)
... 3 more
Caused by: org.apache.solr.handler.dataimport.DataImportHandlerException: java.lang.NullPointerException
at org.apache.solr.handler.dataimport.DocBuilder.buildDocument(DocBuilder.java:542)
at org.apache.solr.handler.dataimport.DocBuilder.buildDocument(DocBuilder.java:411)
... 5 more
Caused by: java.lang.NullPointerException
at org.apache.solr.handler.dataimport.LineEntityProcessor.initDelimitedOrFixedWidth(LineEntityProcessor.java:142)
at org.apache.solr.handler.dataimport.LineEntityProcessor.init(LineEntityProcessor.java:115)
at org.apache.solr.handler.dataimport.EntityProcessorWrapper.init(EntityProcessorWrapper.java:74)
at org.apache.solr.handler.dataimport.DocBuilder.buildDocument(DocBuilder.java:430)
at org.apache.solr.handler.dataimport.DocBuilder.buildDocument(DocBuilder.java:498)
... 6 more
我认为这与我的数据配置有关。 这是我的data-config.xml文件:
<dataConfig>
<dataSource name="dfs" type="FileDataSource"/>
<document>
<entity name="sourcefile"
processor="FileListEntityProcessor"
fileName="rocinter.csv"
rootEntity="false"
baseDir="/user/xxx/work/solr/example/example-DIH/solr/csv/inputfolder"
>
<entity name="entryline"
processor="LineEntityProcessor"
url="${sourcefile.fileAbsolutePath}"
rootEntity="true"
dataSource="fds"
separator=","
>
</entity>
</entity>
</document>
</dataConfig>
有人可以帮我解决这个问题,或者使用修补后的LineEntityProcessor版本提供一个明确的配置文件来导入csv文件吗?