加载TikaLanguageIdentifierUpdateProcessorFactory时出错

时间:2017-04-19 13:11:25

标签: solr apache-tika

我正在尝试将Tika的语言检测功能添加到Solr(6.5.0)。 我将以下行添加到solrconfig.xml文件中:

<lib dir="C:\Program Files\SOLR\server\tikaLib\" regex="tika-app-1.14.jar" />

solrconfig.xml中的langid配置:

<updateRequestProcessorChain name="langid"> 
    <processor class="org.apache.solr.update.processor.TikaLanguageIdentifierUpdateProcessorFactory"> 
        <str name="langid.fl">text,title,subject,description</str> 
        <str name="langid.langField">language_s</str> 
        <str name="langid.fallback">en</str> 
    </processor> 
    <processor class="solr.LogUpdateProcessorFactory" /> 
    <processor class="solr.RunUpdateProcessorFactory" /> 
</updateRequestProcessorChain> 

但是我收到了以下错误:

Caused by: java.lang.ClassNotFoundException: org.apache.solr.update.processor.TikaLanguageIdentifierUpdateProcessorFactory
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.net.FactoryURLClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at org.apache.solr.core.SolrResourceLoader.findClass(SolrResourceLoader.java:540)

1 个答案:

答案 0 :(得分:1)

你需要添加Tika所依赖的所有罐子,这些都在

contrib\extraction\lib\

只需在solrconfig.xml中添加一条类似于上面添加的行:

  <lib dir="${solr.install.dir:../../../..}/contrib/extraction/lib" regex=".*\.jar" />

应该这样做。