我尝试使用apache tika和solr设置从文件导入数据。 nfs已挂载共享上有共享文档文件夹。不幸的是,我无法执行dataimport,1个文件已处理,然后是异常:
[http-8080-3] ERROR org.apache.solr.handler.dataimport.DocBuilder - Exception while processing: files document : null:org.apache.solr.handler.dataimport.DataImportHandlerException: Unable to read content Processing Document # 2
at org.apache.solr.handler.dataimport.DataImportHandlerException.wrapAndThrow(DataImportHandlerException.java:71)
....
at java.lang.Thread.run(Thread.java:744)
Caused by: java.io.IOException: Access denied
at java.io.UnixFileSystem.createFileExclusively(Native Method)
at java.io.File.createNewFile(File.java:1006)
at java.io.File.createTempFile(File.java:1989)
at org.apache.tika.io.TemporaryResources.createTemporaryFile(TemporaryResources.java:66)
at org.apache.tika.io.TikaInputStream.getFile(TikaInputStream.java:533)
at org.apache.tika.io.TikaInputStream.getFileChannel(TikaInputStream.java:564)
at org.apache.tika.parser.microsoft.POIFSContainerDetector.getTopLevelNames(POIFSContainerDetector.java:373)
at org.apache.tika.parser.microsoft.POIFSContainerDetector.detect(POIFSContainerDetector.java:165)
at org.apache.tika.detect.CompositeDetector.detect(CompositeDetector.java:61)
at org.apache.tika.parser.AutoDetectParser.parse(AutoDetectParser.java:113)
at org.apache.solr.handler.dataimport.TikaEntityProcessor.nextRow(TikaEntityProcessor.java:140)
... 26 more
因此,在编写临时文件时,权限似乎有些问题。不幸的是,我不知道tike在哪里尝试编写临时文件,因此我无法检查nfs的权限。我检查了tika主文件夹(核心配置)和docs文件夹和子文件夹的权限 - 一切正常,包括有问题的文档。
我还尝试将我的核心配置中的docs目录更改为其他(在相同的nfs共享上),一切正常。那么,你知道如何追踪我的问题吗?
[编辑] 我只是注意到它并不是真正的许可问题。一切都适用于文件.docx和.pdf。但是在.doc文件上它失败了。你有什么想法吗?