2014-10-15 5 views
1

Я новичок в Solr и пытаюсь проиндексировать файловую систему, используя DIH Solr. Забавно, это сработало отлично - на некоторое время. Теперь DIH не будет инициализироваться, и я продолжаю получать исключение SAXParseException. Содержимое не допускается в прологе.Solr DIH и SAXParseException Содержимое не допускается в прологе

Любые идеи? Я использую Solr 3.6.0 на Debian. И я проверил конфигурационный файл с помощью шестнадцатеричного редактора, но ничего не нашел.

Вот данные-config.xml:

<?xml version="1.0" encoding="UTF-8"?> 
<dataConfig> 
<dataSource type="BinFileDataSource" name="bin"/> 
<document>  
    <entity name="files" 
     processor="FileListEntityProcessor" 
     fileName=".*.(pdf)|(doc)|(docx)|(ppt)|(pptx)" 
     baseDir="/mnt/C" 
     rootEntity="false" 
     dataSource="null" 
     recursive="true" 
     onError="skip"> 
     <field name="id" column="fileAbsolutePath"/> 
     <field name="lastModified" column="fileLastModified"/> 
     <entity name="f" 
      processor="TikaEntityProcessor" 
      url="${files.fileAbsolutePath}" 
      dataSource="bin" 
      format="text" 
      onError="skip"> 
      <field name="fileName" column="file"/> 
      <field name="author" column="Author" meta="true"/> 
      <field name="title" column="title" meta="true"/> 
      <field name="text" column="text"/> 
     </entity> 
    </entity> 
</document> 
</dataConfig> 

И ошибка:

org.apache.solr.handler.dataimport.DataImportHandlerException: Exception occurred while initializing context 
at org.apache.solr.handler.dataimport.DataImporter.loadDataConfig(DataImporter.java:231) 
at org.apache.solr.handler.dataimport.DataImporter.<init>(DataImporter.java:119) 
at org.apache.solr.handler.dataimport.DataImportHandler.handleRequestBody(DataImportHandler.java:168) 
at org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:129) 
at org.apache.solr.core.SolrCore.execute(SolrCore.java:1376) 
at org.apache.solr.servlet.SolrDispatchFilter.execute(SolrDispatchFilter.java:365) 
at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:260) 
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) 
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) 
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) 
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) 
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) 
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) 
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293) 
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859) 
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:602) 
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489) 
at java.lang.Thread.run(Thread.java:679) Caused by: org.xml.sax.SAXParseException; lineNumber: 1; columnNumber: 1; Content is not allowed in prolog. 
at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:198) 
at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.fatalError(ErrorHandlerWrapper.java:177) 
at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:391) 
at com.sun.org.apache.xerces.internal.impl.XMLScanner.reportFatalError(XMLScanner.java:1404) 
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$PrologDriver.next(XMLDocumentScannerImpl.java:1014) 
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:625) 
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:488) 
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:819) 
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:748) 
at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:123) 
at com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(DOMParser.java:239) 
at com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:288) 
at org.apache.solr.handler.dataimport.DataImporter.loadDataConfig(DataImporter.java:216) 
... 18 more 
+0

он выглядит как неправильный xml config. используйте некоторую услугу для ее тестирования - http://www.freeformatter.com/xml-formatter.html – Mysterion

+0

Я не вижу '' в конце ваших данных-config.xml ... – cheffe

+0

Я не знаю почему он не появился в моем сообщении выше, но есть в файле. – aac

ответ

0

XML-проверяет для меня. И ошибка указывает на строку 1, символ 1. Иногда это может быть проблема Byte-Order-mark, которая является невидимым персонажем прямо при старте файла.

Возможно, вы отредактировали файл в каком-то редакторе, который слишком волновался и явно добавил спецификацию. Перепроверьте первые 1-2 символа в шестнадцатеричном редакторе. Или попробуйте просто скопировать этот контент в очень простой текстовый редактор и посмотреть, будет ли это работать.

+0

Согласно ghex нет спецификации. Копирование содержимого тоже не помогло. Я даже перепечатал все это в Notepad ++, но ошибка все еще сохраняется. Если это не спецификация, что еще может быть? – aac

+0

Возможно ли, что есть два файла, и вы смотрите на не тот? Можете ли вы поместить пример файла DIH и посмотреть, читается ли он в пользовательском интерфейсе администратора. –

+0

Пример файла DIH не читается – aac

Смежные вопросы