利用Nutch和Tomcat构建搜索引擎

1.安装环境及软件版本介绍

本教程是在Linux Ubuntu 12.04 desktop i386操作系统上搭建,结合使用了Nutch-1.2和Apache-Tomcat8.0.0构建搜索引擎(其他版本可能方法于此不同)。其中Apache-Tomcat8.0.0将本地机器配置成小型web服务器,Nutch1.2作为搜索引擎的核心,完成了网页爬取、索引构建和响应查询的的功能。

需要安装的组件:

Ø  JDK1.7.0:http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html

Ø  Apache-Tomcat8.0.0: http://tomcat.apache.org/download-80.cgi

Ø  Nutch-1.2:http://archive.apache.org/dist/nutch/

2.安装JDK1.7.0

(1)打开网址http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html,下载相应的JDK文件;

(2)解压文件;

(3)配置环境变量;

(4)检查是否安装正确

3.  nutch安装的配置

  (1)打开网址http://archive.apache.org/dist/nutch/ 下载nutch-1.2;

(2)解压文件;

(3)修改工作目录和权限;

(4)填写配置文件;

4.  Tomcat安装和配置

  (1)打开网址http://tomcat.apache.org/download-80.cgi, 下载Tomcat8.0.0;

  (2)解压文件;

(3)修改工作目录和权限;

5.抓取网页内容

(1)修改配置文件crawl-urlfilter.txt,把要爬取的网页url的正则表达式填写到适当的位置;

(2)在nutch根目录下建立种子文件,填写起始的url地址;

(3)输入命令,开始爬取,等待爬取完成;

参数说明:

Crawl           运行爬虫功能

Seed.txt        爬虫种子url保存的文件

-dir               爬虫抓取结果保存的路径

-depth 10      爬取的深度是10

-topN 20       每个网页取前20个url

-threads 5     启用5线程

6.构建搜索引擎

(1)把nutch根目录下的nutch-1.2.war文件拷贝到tomcat根目录下webapps文件夹内;

(2)运行tomcat服务器;

(3)等待tomcat自动生成文件,然后修改生成的nutch-size.xml文件,把6节中抓取的网页内容的文件夹填写到配置文件中;

(4)重启tomcat,启用上一步配置;

7.查看结果

(1)打开任意的浏览器,这里以chrome浏览器为例,在地址栏输入http://localhost:8080/nutch-1.2

  (2)在编辑框内填写要搜索的内容,以搜狐为例;

利用Nutch和Tomcat构建搜索引擎的更多相关文章

  1. 【Nutch2.2.1基础教程之2.2】集成Nutch/Hbase/Solr构建搜索引擎之二:内容分析

    请先参见"集成Nutch/Hbase/Solr构建搜索引擎之一:安装及运行",搭建测试环境 http://blog.csdn.net/jediael_lu/article/deta ...

  2. 【Nutch2.2.1基础教程之2.1】集成Nutch/Hbase/Solr构建搜索引擎之一:安装及运行【单机环境】

    1.下载相关软件,并解压 版本号如下: (1)apache-nutch-2.2.1 (2) hbase-0.90.4 (3)solr-4.9.0 并解压至/usr/search 2.Nutch的配置 ...

  3. 【Nutch2.3基础教程】集成Nutch/Hadoop/Hbase/Solr构建搜索引擎:安装及运行【集群环境】

    1.下载相关软件,并解压 版本号如下: (1)apache-nutch-2.3 (2) hadoop-1.2.1 (3)hbase-0.92.1 (4)solr-4.9.0 并解压至/opt/jedi ...

  4. python利用Trie(前缀树)实现搜索引擎中关键字输入提示(学习Hash Trie和Double-array Trie)

    python利用Trie(前缀树)实现搜索引擎中关键字输入提示(学习Hash Trie和Double-array Trie) 主要包括两部分内容:(1)利用python中的dict实现Trie:(2) ...

  5. eclipse+maven+tomcat构建web工程

    我们要利用Maven构建一个web应用,开发环境为eclipse+tomcat.构建过程如下: 1.工具准备 eclipse:版本为eclipse 4.2(Juno Service),maven插件的 ...

  6. 利用 Rational ClearCase ClearMake 构建高性能的企业级构建环境

    转载地址:http://www.ibm.com/developerworks/cn/rational/r-cn-clearmakebuild/ 构建管理是 IBM® Rational® ClearCa ...

  7. 使用spring+hibernate+atomikos+tomcat构建分布式事务

    本文通过一个demo,介绍如何使用spring+hibernate+atomikos+tomcat构建在一个事务中涉及两个数据源的web应用. demo功能:实现一个能成功提交和回滚的涉及两个数据库数 ...

  8. 使用spring+mybatis+atomikos+tomcat构建分布式事务

    本文通过一个demo,介绍如何使用spring+mybatis+atomikos+tomcat构建在一个事务中涉及两个数据源的web应用. demo功能:实现一个能成功提交和回滚的涉及两个数据库数据源 ...

  9. 学习用Node.js和Elasticsearch构建搜索引擎(6):实际项目中常用命令使用记录

    1.检测集群是否健康. curl -XGET 'localhost:9200/_cat/health?v' #后面加一个v表示让输出内容表格显示表头 绿色表示一切正常,黄色表示所有的数据可用但是部分副 ...

随机推荐

  1. systemtap-与 oracle 转

    https://baoz.net/using-systemtap/ http://nanxiao.me/category/%E6%8A%80%E6%9C%AF/systemtap-%E7%AC%94% ...

  2. 深入解析 ext2 文件系统

     很久以来,就想写一篇关于ext 家族文件系统的文章,源于我刚工作的时候,曾经一不小心rm -rf,误删除了很多文件,当时真想有个数据恢复软件能帮我把数据回复了.当然学习数据恢复,首先要学习文件系统. ...

  3. 疑难杂症:java.lang.AbstractMethodError: org.apache.xerces.dom.DocumentImpl.setXmlVersion(Ljava/lang/String;)V

    错误: java.lang.AbstractMethodError: org.apache.xerces.dom.DocumentImpl.setXmlVersion(Ljava/lang/Strin ...

  4. Android学习笔记之JSON数据解析

    转载:Android学习笔记44:JSON数据解析 JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,为Web应用开发提供了一种 ...

  5. spring data redis使用示例

    1. 配置依赖文件 <dependencies> <dependency> <groupId>org.springframework.data</groupI ...

  6. 关于android:inputType属性的说明

    <EditText android:layout_width="fill_parent" android:layout_height="wrap_content&q ...

  7. BootStrap2学习日记20---定制缩略图

    先看看效果: 代码: <ul class="thumbnails"> <li class="span3"> <div class= ...

  8. SQL Server 的事务和锁(一)

    最近在项目中进行压力测试遇到了数据库的死锁问题,简言之,如下的代码在 SERIALIZABLE 隔离级别造成了死锁: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 SELECT @ ...

  9. iOS---》点击uitableview 的section展开或隐藏

    #import <UIKit/UIKit.h> @interface TestCell : UITableViewCell @property (weak, nonatomic) IBOu ...

  10. 【Mood-10】每个程序员都应该读的30本书

    “如果能时光倒流,回到过去,作为一个开发人员,你可以告诉自己在职业生涯初期应该读一本,你会选择哪本书呢?我希望这个书单列表内容丰富,可以涵盖很多东西.” 很多程序员响应,他们在推荐时也写下自己的评语. ...