nutch学习笔记(二)入门篇

上一篇博客中叙述了如何利用nutch爬取网页的过程。本篇则讲述建立逆向索引以及与solr结合展示结果的方法。

1. 建立逆向索引

  所谓的逆向索引,其实就是从词(字符串)到文本的映射。一般而言,在爬取网页后,我们会自然而然的会得到一种索引——从文本到词的映射,即查询条件为文本,查询结果为该文本中包含哪些词(字符串)。但是在实际应用中,这种索引的价值不高,因为让用户记住一个文本的链接或者标题什么的,不太现实。相反,让用户通过一定的关键字,查找出想要的文本,这种方式的实用价值更高,更容易使用。由于这种映射是从词到文本的,与我们自然得到的映射相反,故称为逆向索引。

  利用nutch建立逆向索引的方法十分简单:

  $NUTCH_HOME/bin/nutch invertlinks /your/linkdb/directory -dir /your/segments/directory

 

2. 与solr集成

  solr是一个基于lucene框架的一个企业级全文搜索服务。具体的介绍,我会单独写一篇博客。在nutch与solr集成之前,当然需要安装好solr,这里我采用的是solr-4.8.0。

  1). 安装solr

  从apache-solr官网中下载solr4.8.0。linux用户下载.tgz后缀的文件。下载至linux文件系统后,解压即可。这里假设解压后的目录为$SOLR_HOME,比如:/root/solr-4.8.0/。如果需要查看是否安装成功,则:

  cd $SOLR_HOME/example

  java -jar start.jar

  通过http://yourhostname:8983/solr访问,如果访问成功,则说明solr安装成功了。

  注:solr的example目录中,集成了一个为solr优化过的jetty,运行java -jar start.jar是使solr运行在jetty servlet container中。

  2). 配置solr

  mv $SOLR_HOME/example/solr/collection1/conf/schema.xml $SOLR_HOME/example/solr/collection1/conf/schema.xml.org

  cp $NUTCH_HOME/runtime/local/conf/schema-solr4.xml $SOLR_HOME/example/solr/collection1/conf/schema.xml

  vi $SOLR_HOME/example/solr/collection1/conf/schema.xml

  在</fields>之前插入<field name="_version_" type="long" stored="true" indexed="true"/>

  保存退出

  重新启动solr: java -jar start.jar

  3). 整合nutch与solr

  $NUTCH_HOME/runtime/local/bin/nutch solrindex http://yourhostname:8983/solr /your/crawldb/directory/ -linkdb /your/linkdb/directory /your/segments/2014xxxx/directory -filter -normalize。

posted on 2014-07-08 19:05  husoling  阅读(217)  评论(0编辑  收藏  举报

导航