当前位置: 首页 > 知识库问答 >
问题:

Apache Solr DataImportHandler尝试索引失败

戈正初
2023-03-14

我正在尝试将一些xml文件索引到Solr6.2中。1使用他们的DataImportHandler。

为此,我将所需的导入和此RequestHandler添加到solrconfig中。xml:

  <lib dir="${solr.install.dir:../../../..}/contrib/dataimporthandler/lib/" regex=".*\.jar" />
  <lib dir="${solr.install.dir:../../../..}/dist/" regex="solr-dataimporthandler-.*\.jar" />

  <requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler" startup="lazy">
    <lst name="default">
        <str name="config">data-config.xml</str>
    </lst>
  </requestHandler>

然后我编写了数据配置。并将其放入与solrconfig相同的路径中。xml:

<dataConfig>
    <dataSource type="FileDataSource" encoding="UTF-8"/>
    <document>
        <entity name="pickupdir"
                processor="FileListEntityProcessor"
                dataSource="null"
                baseDir="/vagrant/TREC8all/Adhoc/"
                recursive="true"
                fileName="^[\w\d-]+\.xml$" />
        <entity name="trec8_simple"
                processor="XPathEntityProcessor"
                stream="true"
                datasource="pickupdir"
                url="${pickupdir.fileAbsolutePath}"
                forEach="/DOCS/DOC">
            <field column="id" xpath="/DOCS/DOC/DOCNO"/>
            <field column="header" xpath="/DOCS/DOC/HEADER"/>
            <field column="text" xpath="/DOCS/DOC/TEXT"/>
        </entity>
    </document>
</dataConfig>

这将使ImportHandler递归地遍历目录中的所有xml文件,并根据XPath对它们进行索引。

当我像这样调用requestHandler时:(我在一个vagrant框中运行solr,而不是在本地运行solr)

http://192.168.155.156:8983/solr/trec8/dataimport?command=full-import&entity=trec8_simple

我在solr中遇到了这个例外。日志:

ERROR (Thread-14) [   x:trec8] o.a.s.h.d.DataImporter Full Import failed:java.lang.NullPointerException
        at org.apache.solr.handler.dataimport.DataImporter.createPropertyWriter(DataImporter.java:325)
        at org.apache.solr.handler.dataimport.DataImporter.doFullImport(DataImporter.java:412)
        at org.apache.solr.handler.dataimport.DataImporter.runCmd(DataImporter.java:475)
        at org.apache.solr.handler.dataimport.DataImporter.lambda$runAsync$0(DataImporter.java:458)
        at java.lang.Thread.run(Thread.java:745)

我假设这应该是数据源处理程序:

https://github.com/sudarshang/lucene-solr/blob/master/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/DataImporter.java

我很难弄清楚是什么导致了这个异常以及它的含义。如果有人能帮我就好了。谢谢!

编辑:我认为这与数据处理程序无法找到data-config.xml.有关,当我删除它时,它会抛出完全相同的异常

共有1个答案

巫马松
2023-03-14

好的,我找到问题了!问题出在solrconfig,

<lst name="default">
    <str name="config">data-config.xml</str>
</lst>

本来应该是的

<lst name="defaults">
    <str name="config">data-config.xml</str>
</lst>
 类似资料:
  • 我试图为hibernate OGM mongo DB应用程序添加hibernate搜索支持。当我尝试使用行重新生成索引时,经常会出现以下异常。 HSearch000058:HSearch000116:MassIndexer操作过程中出现意外错误java.lang.NosuchMethoderror:org.hibernate.search.engine.spi.documentBuilderInd

  • 问题内容: 我在列中有以下股票数据集,在行的日期下方(使用彭博(Bloomberg)的Python API下载-请忽略以下事实:它们全都是“ NaN”-仅用于数据的这一部分): 我正在尝试从索引中提取月份和年份,以便稍后进行调整: 其中values是上述DataFrame的名称。 但这会产生错误:’KeyError’date’ 运行: 看起来不错: 所以我只是想知道问题出在哪里,为什么我似乎无法在

  • 我有一个MongoDB,里面有大约80k个文档,每个文档都是一个带有、等的条目。我想做,为此我使用以下命令创建了一个文本索引: 索引构建失败,因为它运行内存溢出并杀死了运行mongoDB的作业。这在日志中: 2018-03-22T14:58:12.017 0000 I-[initandlisten]索引构建:2500/861872% 2018-03-22T14:58:15.028 0000 I-[

  • 我在尝试读取csv文件时遇到问题,错误如下所示: 。我尝试过在堆栈溢出中搜索,错误与上面相同。 法典: MyCSVFile:

  • 有人能识别出以下代码的错误吗。特别是第一条dbms_输出线。第二张打印得很好。但第一个错误是: 第2行ORA-06550错误:第15行,第53列:PLS-00201:标识符“MYCOLL”必须声明ORA-06550:第15行,第1列:PL/SQL:忽略语句

  • 我需要能够知道身份验证失败时输入的密码。