Apache Solr: исключение обработчика импорта данных - как пропустить файлы нулевого байта - PullRequest
2 голосов
/ 22 апреля 2020

При просмотре журналов Solr я обнаружил ошибку импорта данных для определенных документов. Вот оно:

Exception while processing: file document :
null:org.apache.solr.handler.dataimport.DataImportHandlerException: Unable
to read content Processing Document # 7866
        at
org.apache.solr.handler.dataimport.DataImportHandlerException.wrapAndThrow(DataImportHandlerException.java:69)
        at
org.apache.solr.handler.dataimport.TikaEntityProcessor.nextRow(TikaEntityProcessor.java:171)
        at
org.apache.solr.handler.dataimport.EntityProcessorWrapper.nextRow(EntityProcessorWrapper.java:267)
        at
org.apache.solr.handler.dataimport.DocBuilder.buildDocument(DocBuilder.java:476)
        at
org.apache.solr.handler.dataimport.DocBuilder.buildDocument(DocBuilder.java:517)
        at
org.apache.solr.handler.dataimport.DocBuilder.buildDocument(DocBuilder.java:415)
        at
org.apache.solr.handler.dataimport.DocBuilder.doFullDump(DocBuilder.java:330)
        at
org.apache.solr.handler.dataimport.DocBuilder.execute(DocBuilder.java:233)
        at
org.apache.solr.handler.dataimport.DataImporter.doFullImport(DataImporter.java:424)
        at
org.apache.solr.handler.dataimport.DataImporter.runCmd(DataImporter.java:483)
        at
org.apache.solr.handler.dataimport.DataImporter.lambda$runAsync$0(DataImporter.java:466)
        at java.lang.Thread.run(Unknown Source)
Caused by: org.apache.tika.exception.ZeroByteFileException: InputStream must
have > 0 bytes
        at org.apache.tika.parser.AutoDetectParser.parse(AutoDetectParser.java:122)
        at
org.apache.solr.handler.dataimport.TikaEntityProcessor.nextRow(TikaEntityProcessor.java:165)

Как игнорировать исключение ZeroByteFileException? Могу ли я определить любой параметр в dataimport.config?

Спасибо!

Ответы [ 2 ]

0 голосов
/ 24 апреля 2020

Я обнаружил и удалил поврежденные файлы (или) файлы нулевого КБ. После того, как эта проблема была решена, Solr начал обрабатывать оставшиеся файлы.

С уважением, Рави Кумар

0 голосов
/ 23 апреля 2020

Существует атрибут, который можно настроить в вашем случае.

Вы можете добавить ignoreTikaException=true

ignoreTikaException

Если true, исключения, обнаруженные во время обработки, будут пропущены. Однако любые доступные метаданные будут проиндексированы.

Example: ignoreTikaException=true

Для получения более подробной информации см. Документацию solr. Документация по Solr

onError

По умолчанию TikaEntityProcessor остановит обработку документов, если обнаружит тот, который генерирует ошибку. Если вы зададите от onError до "skip", TikaEntityProcessor вместо этого пропустит документы, не прошедшие обработку, и запишет сообщение о том, что документ был пропущен.

...