Solr 6和Nutch 2.3.1集成

MTA*_*MTA 4 solr nutch

根据Nutch的消息,Nutch的最新版本与Solr 4.10.3兼容,这是solr的旧版本.

我们可以将Solr 6与Nutch 2.3.1集成.如果solr 6将被整合,会有什么缺点?有人试过吗?

C. *_*yer 9

这是一个古老的问题,但我只是让Nutch 1.12与Solr 6.3.0交谈.对于Nutch 2.x,所需的schema/solrconfig更改应该是相同的,所以这就是我所做的:

下载并将两个产品提取到某个目录,例如〜/ mycrawler,然后进入solr目录并为nutch创建一个核心:

solr-6.3.0/bin $ ./solr start
solr-6.3.0/bin $ ./solr create_core -c nutch -d basic_configs
solr-6.3.0/bin $ ./solr stop
Run Code Online (Sandbox Code Playgroud)

这将创建solr-6.3.0/server/solr/nutch,其中将定位架构等.现在,我们需要删除新的自动管理模式定义,并将其替换为nutch提供的schema.xml:

solr-6.3.0/server/solr/nutch/conf $ rm managed-schema
solr-6.3.0/server/solr/nutch/conf $ cp ~/mycrawler/apache-nutch-1.12/conf/schema.xml .
Run Code Online (Sandbox Code Playgroud)

现在编辑schema.xml并删除enablePositionIncrements="true"所有 <filter class="solr.StopFilterFactory" ignoreCase="true" ...定义中的所有实例 .

同样在solr-6.3.0/server/solr/nutch/conf/solrconfig.xml,注释这些typeMapping块,所以你得到:

<processor class="solr.AddSchemaFieldsUpdateProcessorFactory">
  <str name="defaultFieldType">strings</str>
    <!--
  <lst name="typeMapping">
    <str name="valueClass">java.lang.Boolean</str>
    <str name="fieldType">booleans</str>
  </lst>
  <lst name="typeMapping">
    <str name="valueClass">java.util.Date</str>
    <str name="fieldType">tdates</str>
  </lst>
  <lst name="typeMapping">
    <str name="valueClass">java.lang.Long</str>
    <str name="valueClass">java.lang.Integer</str>
    <str name="fieldType">tlongs</str>
  </lst>
  <lst name="typeMapping">
    <str name="valueClass">java.lang.Number</str>
    <str name="fieldType">tdoubles</str>
  </lst>
    -->
</processor>
Run Code Online (Sandbox Code Playgroud)

现在再次启动服务器:

solr-6.3.0/bin $ ./solr start
Run Code Online (Sandbox Code Playgroud)

如果你去管理员gui,它应该显示核心已启动,没有进一步的架构问题.

现在爬行脚本可以运行并将成功写入我们的前沿Solr(对于Nutch 2,这可能略有不同):

./crawl -i \
    -D solr.server.url=http://localhost:8983/solr/nutch \ 
    ~/mycrawler/nutch_work/seed \
    ~/mycrawler/nutch_work/crawl  \
    1
Run Code Online (Sandbox Code Playgroud)

  • 听起来你忘了在StopFilterFactory定义中删除其中一个enablePositionIncrements ="true"......在schema.xml中有一大堆它们 (3认同)