我正在使用 Tika 解析器将我的文件索引到 Solr。我创建了自己的解析器(扩展了 XMLParser)。它使用我自己的 mimetype。我创建了一个 jar 文件,里面看起来像这样:
src
|-main
|-some_packages
|-MyParser.java
|resources
|-META-INF
|-services
|-org.apache.tika.parser.Parser (which contains a line:some_packages.MyParser.java)
|_org
|-apache
|-tika
|-mime
|-custom-mimetypes.xml
在 custom-mimetypes 中我放了新的 mimetype 的定义,因为我的 xml 文件有一些特殊的标签。
现在问题出在哪里:我一直在本地机器上安装的 glassfish 上使用 Solr 测试解析和索引。它工作得很好。然后我想将它安装在某个远程服务器上。安装了相同版本的 glassfish (3.1.1)。我复制粘贴了 Solr 应用程序,它是包含所有库的主目录(包括 tika jar 和带有我的自定义解析器的 jar)。不幸的是,它不起作用。将文件发布到 Solr 后,我可以在内容类型字段中看到它检测到我的自定义 mime 类型。但是,如果从未运行过 MyParser 类,则没有假设存在的字段。我得到的唯一字段是来自都柏林核心的字段。我检查了(通过简单地添加一些打印行)Tika 只使用 XMLParser。有没有人遇到过类似的问题?如何处理?