Java 更改tika-config.xml中的解析器会导致;无法加载org.apache.tika.parser.DefaultParser";

Java 更改tika-config.xml中的解析器会导致;无法加载org.apache.tika.parser.DefaultParser";,java,parsing,nutch,apache-tika,Java,Parsing,Nutch,Apache Tika,我试图在Nutch中启用Tika的BoilerpipeContentHandler解析器,以从网页中提取文章文本。为此,我将tika-config.xml配置为排除HTMLParser并激活BoilerpipeContentHandler解析器,如下所示: <properties> <service-loader initializableProblemHandler="ignore" loadErrorHandler="WARN" /> <parser

我试图在Nutch中启用Tika的BoilerpipeContentHandler解析器,以从网页中提取文章文本。为此,我将tika-config.xml配置为排除HTMLParser并激活BoilerpipeContentHandler解析器,如下所示:

<properties>
     <service-loader initializableProblemHandler="ignore" loadErrorHandler="WARN" />
 <parsers>
    <parser class="org.apache.tika.parser.DefaultParser">
      <mime-exclude>text/html</mime-exclude>
      <parser-exclude class="org.apache.tika.parser.html.HtmlParser"/>
    </parser>

 <!-- Use a different parser for text/html -->
    <parser class="org.apache.tika.parser.html.BoilerpipeContentHandler">
      <mime>text/html</mime>
    </parser>
  </parsers>
</properties>


我正确地设置了类路径,所以我不明白为什么找不到这两个解析器类。我想知道Nutch或Tika是否使用了不同的类路径?或者我的tika-config.xml显然有问题


我非常感谢您的任何想法。

我将关注您的最终目标:将样板抽取器与Nutch一起使用。Nutch已经从Nutch本身提供了对样板文件提取器的支持,无需更改
tika config.xml

您需要在
nutch site.xml
中将
tika.extractor
属性设置为
boilerpipe
。默认情况下,Nutch将使用
ArticleExtractor
提取器


您可以检查公开的一些其他配置选项。

“我已正确设置了类路径,…”堆栈跟踪显示不是这样;)建议:集中精力让Tika工作-使用任何数据文件或任何配置:。然后一次更改一个变量,直到它在您的环境中完全工作为止。另外:问:您是否检查了.jar文件以确认org.apache.tika.parser.html.BoilerpipeContentHandler存在?如果是,哪个.jar?问:你的类路径是什么,你是如何设置的?请更新您的帖子,回答以上所有问题。谢谢!非常好的建议。啊,谢谢!我没看到。不幸的是,我已经将这些设置添加到nutch-site.xml中,并确认Tika仍然没有在内容上运行Boilerpipe。我通过比较在线样板管演示()的输出与nutch使用bin/nutch readseg-dump crawl5/segments/20191213090608/t output-nofetch-noparse-noparsetext进行的爬网来确认这一点。你能给我一个建议,我可以从这里去哪里诊断这个吗?如果有一种方法可以在Nutch中启用详细日志记录以查看发生了什么,那就太好了。您确定在
插件。包括
设置中启用了
解析tika
插件吗?否则,它将使用
解析html
(即不是Tika)。此外,由于您正在读取段,因此可能正在读取已爬网/解析的数据(不会重新处理)。您可以使用
bin/nutch parsechecker
仅检查解析器步骤的输出。
Dec 12, 2019 5:11:40 PM org.apache.tika.config.LoadErrorHandler$2 handleLoadError
WARNING: Unable to load org.apache.tika.parser.DefaultParser
java.lang.ClassNotFoundException: org.apache.tika.parser.html.HtmlParser
    at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:355)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
Dec 12, 2019 5:11:40 PM org.apache.tika.config.LoadErrorHandler$2 handleLoadError
WARNING: Unable to load org.apache.tika.parser.html.BoilerpipeContentHandler
java.lang.ClassNotFoundException: org.apache.tika.parser.html.BoilerpipeContentHandler
    at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:355)