最近开始做一个项目的搜索引擎,技术选型为爬虫nutch。开始以为除了cms系统发布的静态页面以外,还有数据库存储的结构化数据需要索引(其实这些用页面是用jsp展示的,在系统中已经有了)。所以用爬虫爬完网站后,就想着再把结构化的数据通lucene的api写进nutch的索引中,最后通过多次尝试发现很难实现。虽然能将lucene建立的索引追加进到nutch的索引中,可是却很难读出来(有一款luke软件可以,可是想要赶紧完成项目,这个luke的源码没有时间来读)。
lucene是一个平面化的存储,一个索引就相当于数据库的一张表。而nutch的存储结构是hdfs存储系统,hadoop的分布式系统,索引里面写入了很多hadoop的数据,而且其中10个字段title/url/segment/host/site/content/anchor/boost/digest/tstamp业也不像原生的lucene索引的存放方式。多次尝试发现用lucene基础api读取nutch的索引很难实现。
最近才发现原来nutch的搜索应用中的一个的一个配置文件regex-urlfilter.txt ,里面默认在后台只爬取静态页面。所以导致我开始的想法。
知道这个以后好办了,修改后台和前台应用的配置文件,消除对php/jsp/xxAction.do等动态url的过滤:
方法如下:修改conf下面的2个文件regex-urlfilter.txt,crawl-urlfilter.txt
将
# skip URLs containing certain characters as probable queries, etc.
-[?*!@=]
修改成
# accept URLs containing certain characters as probable queries, etc.
+[?=&]
从而允许动态传参数的?=&等url的爬取。
换了个思路,省了不少事儿。nutch继续研究使用中
分享到:
相关推荐
Nutch的发展历程中出现了两个主要的分支版本:1.X和2.X,它们之间最大的区别是2.X版本对底层数据存储进行了抽象,以支持更广泛的存储技术,这使得Nutch可以适应更多样的大数据存储需求。 Nutch项目背后的关键人物是...
- 抓取(Crawl):使用`bin/nutch crawl`命令启动抓取进程。 - 索引(Index):抓取后的数据经过分析和索引,可导入到Hadoop HDFS或Solr、Elasticsearch等搜索服务中。 - 搜索(Search):通过索引服务进行查询,...
随着校园信息化进程的不断深入,校园网上信息资源的数量迅速膨胀,各种相互独立的信息发布系统在提高效率的同时,也为校园网范围内统一的信息检索设置了障碍。校园网信息资源主要包括两类数据:一类是非结构化文本...
- **配置与设置**:如何设置Nutch的环境变量、配置文件参数,以及启动和监控爬虫进程。 - **数据分析**:从抓取的数据中提取有价值的信息,可能涉及文本挖掘、情感分析等技术。 - **问题解决**:常见错误和调试技巧...
Lucene 是一个用 Java 开发的开源高性能全文检索工具包,而 Nutch 是第一个开源的 Web 搜索引擎,它在 Lucene 的基础上增加了网络爬虫和一些和 Web 相关的功能。 从 Nutch 0.8.0 版本之后,Doug Cutting 把 Nutch ...
- 对游戏行业的影响:通过使用 Hadoop 及其他开源 NoSQL 数据库,游戏开发者能够更快地进行数据处理,从而加速游戏开发进程。 - 对硬件和软件资源的影响:减少了对昂贵硬件和软件资源的需求,使得更多专业人士能够...
搜索引擎的发展历程可以追溯到早期的Archie和Gopher等系统,这些系统为后续搜索引擎的发展奠定了基础。随着Robot(网络机器人)和Spider(网络爬虫)的出现,搜索引擎技术得以进一步发展。之后,诸如Excite、Galaxy...
- **Lucene**:由Doug Cutting创建的一个开源全文搜索引擎库,最初是为了提供全文检索功能。随着数据量的增长,Lucene面临了与Google相似的技术挑战。 - **Nutch**:基于Lucene的一个开源网络爬虫项目,用于抓取网页...
通过使用多线程或多进程,以及像Apache Nutch这样的分布式爬虫框架,你可以构建能够处理大量并发任务的系统。 最后,关于搜索优化和结果相关性,你会学习到TF-IDF(词频-逆文档频率)算法和其他相关性排名模型,...
- **Nutch网络搜索软件**:Nutch是一个高度可扩展的Web爬虫框架,常与Hadoop配合使用进行大规模数据处理。 - **用户界面**:讨论了设计友好用户界面的重要性及其在提升用户体验方面的作用。 ##### 第3章 获得海量...
- **任务进程配置**:使用4个Hadoop实例,在每台机器上启动2个任务进程。 - **性能指标**:单机处理速度可达4MB/s。 ##### 2.3 应用服务 - **服务组件**:包括数据迁移服务、索引合并服务、数据清洗服务、全文检索...
- 从 Nutch 搜索引擎项目发展而来,Nutch 是 Lucene 的一部分。 - 201X年,Hadoop 开始实现GFS的开源版本NDFS和MapReduce。 - 201X年,Hadoop 独立成为Apache项目,Doug Cutting加入雅虎。 - 201X年,Hadoop 成为...
- **Hive**:这是一个数据仓库工具,允许用户使用类似SQL的查询语言(HiveQL)来处理存储在Hadoop中的结构化数据。 - **HBase**:这是一个分布式的、面向列的NoSQL数据库,非常适合实时读/写大表数据的应用。 - **...
1. 并行与分布式爬虫:为了提高效率,可能使用多线程、多进程或者分布式爬虫框架如Scrapy-Cluster或Apache Nutch。 2. 数据存储:爬取的数据可能存储在MySQL、MongoDB等数据库,或者采用Elasticsearch这样的全文...
本项目旨在通过构建一个高效的分布式爬虫系统来支持企业的信息化改革进程,进一步加强公司内部的信息共享与数据分析能力。通过深入各个层面收集业务需求,该项目聚焦于提升企业的数据采集、分析效率,并最终达到智慧...
- **2.2.4 Nutch网络搜索软件**:Nutch是一款开源的网络爬虫项目,用于抓取网页并构建索引,本节介绍其基本使用方法。 - **2.2.5 用户界面**:讨论如何设计友好的用户界面,以便用户更轻松地使用搜索引擎。 - **...
此外,本文还对搜索引擎的发展趋势进行了讨论,并提出基于Nutch搜索引擎的校际信息网检索系统可有效地解决校园Web网站全文信息检索功能不足的问题。通过对不同参考文献的回顾,本文进一步完善了网络流量分析与预测的...
- Hadoop的作者是Doug Cutting,他是在开发Nutch搜索引擎项目时创建了Hadoop。 3. **NameNode启动相关**: - NameNode是Hadoop HDFS(Hadoop Distributed File System)的核心组件,它通常与JobTracker(旧版...