使用dataimporthandler solr导入csv

时间:2012-11-07 14:46:45

标签: search csv solr dataimporthandler dih

我正在尝试使用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文件吗?

1 个答案:

答案 0 :(得分:1)

我终于从用户邮件列表中得到了答案。 实际上这是补丁中的一个错误。

该补丁的较新版本附加于jira问题。

请参阅:SOLR-2549