Apache Nutch和Solr集成

Car*_*ton 11 linux lucene solr nutch

我试图遵循nutch教程,但有一些schema.xml文件的问题.

我被告知nutch为我的项目提供了架构,基本上就是这个......

cp ${NUTCH_RUNTIME_HOME}/conf/schema.xml ${APACHE_SOLR_HOME}/example/solr/conf/
Run Code Online (Sandbox Code Playgroud)

我已经在Tomcat中部署了我的solr文件,当我去Solr仪表板时我得到的错误是

collection1: org.apache.solr.common.SolrException:org.apache.solr.common.SolrException:
Plugin init failure for [schema.xml] fieldType "text": 
Plugin init failure for [schema.xml] analyzer/filter:
Error loading class 'solr.EnglishPorterFilterFactory'
Run Code Online (Sandbox Code Playgroud)

这与我的solrconfig.xml文件中的这个元素有关(我可以对此进行评论但不确定它有多重要)

<filter class="solr.EnglishPorterFilterFactory" protected="protwords.txt"/>
Run Code Online (Sandbox Code Playgroud)

我编辑了我的solrconfig.xml,试图包含一系列与solr一起提供的jar文件

<lib path="/etc/solr/collection1/libs/dist/solr-core-4.2.1.jar" />
<lib path="/etc/solr/collection1/libs/dist/solr-analysis-extras-4.2.1.jar" />
Run Code Online (Sandbox Code Playgroud)

但我不认为它们包含缺少的类"solr.EnglishPorterFilterFactory"

有谁知道为什么这可能不起作用或我错过了什么?我不是一个Java开发人员,所以毫无疑问它会是简单的:)

更新 在发现架构中有一些旧类被引用之后我又在nutch/conf中看了一下,看起来好像有一个$ {NUTCH_RUNTIME_HOME} /conf/schema-solr4.xml文件似乎有效.

如果这是正确的,不是100%但是嘿......

fem*_*gon 12

看起来EnglishPorterFilterFactory不再是4.x. 请参阅3.6.0文档中的注释:

Deprecated.
  Use SnowballPorterFilterFactory with language="English" instead
Run Code Online (Sandbox Code Playgroud)

许多弃用的东西在4.0中消失了.我会按照说法做,请参阅SnowballPorterFilterFactory文档.

  • 还使用"$ {NUTCH_RUNTIME_HOME} /conf/schema-solr4.xml"而不是旧配置 (4认同)