2

我正在尝试将 solr 与 DIH 一起使用来索引 csv 文件。我已经使用 solr wiki 上提到的补丁 SOLR-2549 修补了我的 DIH 库(请参阅http://wiki.apache.org/solr/DataImportHandler#Configuration_in_data-config.xml-1),以便在不使用 Transformers 的情况下导入 csv 文件连同 LineEntityProcessor。

不幸的是,我无法进行导入工作,并且出现以下错误堆栈:

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 文件吗?

4

1 回答 1

1

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

更新版本的补丁附加到 jira 问题。

见:SOLR-2549

于 2012-11-09T11:11:58.190 回答