Необъявленная общая ошибка объекта при выполнении полного импорта XML в Solr с использованием DIH

Я пытаюсь массово импортировать xml-файлы из папки в solr. Моя конфигурация DIH выглядит так.

<dataConfig>
  <dataSource type="FileDataSource"/>
  <document>
    <!-- this outer processor generates a list of files satisfying the conditions
         specified in the attributes -->
    <entity name="xmlImport" processor="FileListEntityProcessor"
            fileName=".*xml"
            recursive="true"
            rootEntity="false"
            dataSource="null"
            baseDir="/home/rsp/shellscript/output"
          >

      <!-- this processor extracts content using Xpath from each file found -->

      <entity name="nested" processor="XPathEntityProcessor" transformer="DateFormatTransformer,TemplateTransformer"
              forEach="/root" url="${xmlImport.fileAbsolutePath}">


        <field column="id" xpath="/root/sub1/sub2/id"/>

      </entity>
    </entity>
  </document>
</dataConfig>

когда я пытаюсь запустить полный импорт, задание не выполняется, оставляя журнал ниже.

Full Import failed:java.lang.RuntimeException: java.lang.RuntimeException: org.apache.solr.handler.dataimport.DataImportHandlerException: Parsing failed for xml, url:/home/rsp/shellscript/output/file1.xml rows processed:0 Processing Document # 1
    at org.apache.solr.handler.dataimport.DocBuilder.execute(DocBuilder.java:271)
    at org.apache.solr.handler.dataimport.DataImporter.doFullImport(DataImporter.java:417)
    at org.apache.solr.handler.dataimport.DataImporter.runCmd(DataImporter.java:481)
    at org.apache.solr.handler.dataimport.DataImporter$1.run(DataImporter.java:462)
Caused by: java.lang.RuntimeException: org.apache.solr.handler.dataimport.DataImportHandlerException: Parsing failed for xml, url:/home/rsp/shellscript/output/file1.xml rows processed:0 Processing Document # 1
    at org.apache.solr.handler.dataimport.DocBuilder.buildDocument(DocBuilder.java:417)
    at org.apache.solr.handler.dataimport.DocBuilder.doFullDump(DocBuilder.java:330)
    at org.apache.solr.handler.dataimport.DocBuilder.execute(DocBuilder.java:233)
    ... 3 more
Caused by: org.apache.solr.handler.dataimport.DataImportHandlerException: Parsing failed for xml, url:/home/rsp/shellscript/output/file1.xml rows processed:0 Processing Document # 1
    at org.apache.solr.handler.dataimport.DataImportHandlerException.wrapAndThrow(DataImportHandlerException.java:70)
    at org.apache.solr.handler.dataimport.XPathEntityProcessor.initQuery(XPathEntityProcessor.java:330)
    at org.apache.solr.handler.dataimport.XPathEntityProcessor.fetchNextRow(XPathEntityProcessor.java:225)
    at org.apache.solr.handler.dataimport.XPathEntityProcessor.nextRow(XPathEntityProcessor.java:205)
    at org.apache.solr.handler.dataimport.EntityProcessorWrapper.nextRow(EntityProcessorWrapper.java:244)
    at org.apache.solr.handler.dataimport.DocBuilder.buildDocument(DocBuilder.java:476)
    at org.apache.solr.handler.dataimport.DocBuilder.buildDocument(DocBuilder.java:515)
    at org.apache.solr.handler.dataimport.DocBuilder.buildDocument(DocBuilder.java:415)
    ... 5 more
Caused by: java.lang.RuntimeException: com.ctc.wstx.exc.WstxParsingException: Undeclared general entity "ldquo"
 at [row,col {unknown-source}]: [147,57]
    at org.apache.solr.handler.dataimport.XPathRecordReader.streamRecords(XPathRecordReader.java:188)
    at org.apache.solr.handler.dataimport.XPathEntityProcessor.initQuery(XPathEntityProcessor.java:319)
    ... 11 more
Caused by: com.ctc.wstx.exc.WstxParsingException: Undeclared general entity "ldquo"
 at [row,col {unknown-source}]: [147,57]
    at com.ctc.wstx.sr.StreamScanner.constructWfcException(StreamScanner.java:614)
    at com.ctc.wstx.sr.StreamScanner.throwParseError(StreamScanner.java:487)
    at com.ctc.wstx.sr.BasicStreamReader.handleUndeclaredEntity(BasicStreamReader.java:5470)
    at com.ctc.wstx.sr.StreamScanner.expandUnresolvedEntity(StreamScanner.java:1742)
    at com.ctc.wstx.sr.StreamScanner.expandEntity(StreamScanner.java:1626)
    at com.ctc.wstx.sr.StreamScanner.fullyResolveEntity(StreamScanner.java:1564)
    at com.ctc.wstx.sr.BasicStreamReader.skipTokenText(BasicStreamReader.java:3604)
    at com.ctc.wstx.sr.BasicStreamReader.skipToken(BasicStreamReader.java:3369)
    at com.ctc.wstx.sr.BasicStreamReader.nextFromTree(BasicStreamReader.java:2629)
    at com.ctc.wstx.sr.BasicStreamReader.next(BasicStreamReader.java:1073)
    at org.apache.solr.handler.dataimport.XPathRecordReader$Node.handleStartElement(XPathRecordReader.java:377)
    at org.apache.solr.handler.dataimport.XPathRecordReader$Node.parse(XPathRecordReader.java:311)
    at org.apache.solr.handler.dataimport.XPathRecordReader$Node.handleStartElement(XPathRecordReader.java:347)
    at org.apache.solr.handler.dataimport.XPathRecordReader$Node.parse(XPathRecordReader.java:311)
    at org.apache.solr.handler.dataimport.XPathRecordReader$Node.handleStartElement(XPathRecordReader.java:347)
    at org.apache.solr.handler.dataimport.XPathRecordReader$Node.parse(XPathRecordReader.java:311)
    at org.apache.solr.handler.dataimport.XPathRecordReader$Node.handleStartElement(XPathRecordReader.java:347)
    at org.apache.solr.handler.dataimport.XPathRecordReader$Node.parse(XPathRecordReader.java:311)
    at org.apache.solr.handler.dataimport.XPathRecordReader$Node.access$200(XPathRecordReader.java:203)
    at org.apache.solr.handler.dataimport.XPathRecordReader.streamRecords(XPathRecordReader.java:185)
    ... 12 more

«Необъявленная общая сущность« ldquo »в xml».

У меня есть объекты xhtml, такие как &ldquo,® внутри xml, которые не требуются для индексации. Как я могу игнорировать это и получить значения полей из xml? Я использую экземпляр solr 5.4.1 и версию Java «1.7.0_45».


person Rohith S Pal    schedule 28.01.2016    source источник


Ответы (1)


для массовой вставки я использую команду обновления вместо импорта из папки. Я думаю, производительность одинакова.

например, для импорта CSV-файла вы можете использовать эту команду: http://localhost:8983/solr//update /csv?stream.file=&stream.contentType=text/plain;charset=utf-8

person Saman Salehi    schedule 28.01.2016
comment
Спасибо за ответ. Я думаю, что это проблема с форматом xml. Я думаю, что синтаксический анализатор Java не может распознавать сущности. Я просто хотел бы исключить эту ошибку при разборе xml. - person Rohith S Pal; 28.01.2016