在tika-config.xml中更改解析器会导致“无法加载org.apache.tika.parser.DefaultParser”

问题描述 投票:0回答:1

我正在尝试在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>

当我通过运行命令测试此配置时:

bin/nutch org.apache.nutch.parse.ParserChecker

输出包括:

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)

我已经正确设置了类路径,所以我无法弄清楚为什么找不到两个解析器类。我想知道Nutch还是Tika是否正在使用不同的类路径?也许我的tika-config.xml显然有问题。

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

java parsing nutch apache-tika
1个回答
0
投票

我将专注于您的最终目标:将样板提取器与Nutch一起使用。 Nutch已经从Nutch自身内部为样板提取器提供了支持,无需更改tika-config.xml

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

您可以检查https://github.com/apache/nutch/blob/master/conf/nutch-default.xml#L1645-L1677以了解某些公开的其他配置选项。

© www.soinside.com 2019 - 2024. All rights reserved.