摘要:
一、框架介绍公司最近项目要用到全文检索,检索对象是一些网站的网页内容,要使用到网络爬虫工具。 目前技术选型对象主要有两个:Heritrix 和 Nutch。二者均为Java开源框架,Heritrix 是 SourceForge上的开源产品,Nutch为Apache的一个子项目,它们都称作网络爬虫/蜘蛛( Web Crawler),它们实现的原理基本一致:深度遍历网站的资源,将这些资源抓取到本地,使用的方法都是分析网站每一个有效的URI,并提交Http请求,从而获得相应结果,生成本地文件及相应的日志信息等。下面是二者的介绍,摘自网络:Heritrix 是个 "archival craw 阅读全文
摘要:
1、硬件环境 我们采用了3台机器来构建,都安装的是Ubuntu8.04系统,并且都有一个名为“quan“的帐号,如下: 主机名称:360quan-1 ip:192.168.0.37 功能:NameNode,JobTracker 主机名称:360quan-2 ip:192.168.0.43 功能:DataNode,TaskTracker 主机名称:360quan-3 ip:192.168.0.53 功能:DataNode,TaskTracker 重点:修改3台机器的/etc/hosts,让彼此的主机名称和ip都能顺利解析 127.0.0.1 localhost 192.168.0.3... 阅读全文
摘要:
Hadoop 是一个实现了 MapReduce 计算模型的开源分布式并行编程框架,借助于 Hadoop, 程序员可以轻松地编写分布式并行程序,将其运行于计算机集群上,完成海量数据的计算。在本文中,详细介绍了如何针对一个具体的并行计算任务,基于 Hadoop 编写程序,如何使用 IBM MapReduce Tools 在 Eclipse 环境中编译并运行 Hadoop 程序。 前言 在上一篇文章:“用 Hadoop 进行分布式并行编程 第一部分 基本概念与安装部署”中,介绍了 MapReduce 计算模型,分布式文件系统 HDFS,分布式并行计算等的基本原理, 并且详细介绍了如何安装 Hadoo 阅读全文
摘要:
【赛迪网-IT技术报道】HBase是Hadoop中的一个简单数据库。它与Google的Bigtable特别相似,但也存在许多的不同之处。数据模型HBase数据库使用了和Bigtable非常相似的数据模型。用户在表格里存储许多数据行。每个数据行都包括一个可排序的关键字,和任意数目的列。表格是稀疏的,所以同一个表格里的行可能有非常不同的列,只要用户喜欢这样做。列名是“<族名>:<标签>”形式,其中<族名>和<标签>可以是任意字符串。一个表格的<族名>集合(又叫“列族”集合)是固定的,除非你使用管理员权限来改变表格的列族。不过你可以在任何时 阅读全文
摘要:
Google最近关于Google Application Engin的介绍再一次引起了大家对备选数据库技术的兴趣。几星期前InfoQ访谈Hypertable项目的创始人之一Doug Judd,该项目受到了Google的BigTable数据库的启发。本周InfoQ很乐意给大家奉献对HBase领导人——im Kellerman、Michael Stack和Bryan Duxbury的专访。HBase是一个开源的、分布式的、仿效BigTable的面向列存储系统。 1. 对于第一次听说HBase的人,你准备怎么描述它?HBase是一个开源的、分布式的、面向列的存储系统,该技术来源于Chang et a 阅读全文
摘要:
在这个类里(D:\tomcat\webapps\ROOT\WEB-INF\lib\nutch-0.9.jar)HitDetails.class添加一个新定义:public String getColValue(String title,String digString){ return getValue(title).replaceAll(digString.toUpperCase(),"<strong>"+digString.toUpperCase()+"< >");}然后再search.jsp里把String title = 阅读全文
摘要:
Nutch的大致工作流程可以通过上一篇文章有了一定的了解了。在上一篇文章中,主要是针对一幅Nutch工作流程图片来了解Nutch的工作流程,十分感性,并没有涉及到任何关于Nutch的包和类。这里通过在网上下载的一个《Nutch入门学习》的PDF文档中介绍的内容,来详细组织一下,加深了解,为深入研究Nutch的源代码奠定良好的基础。这里通过几个标题来叙述。Nutch爬虫工作策略Nutch爬虫的工作策略一般则可以分为累积式抓取(cumulative crawling)和增量式抓取(incremental crawling)两种。累积式抓取是指从某一个时间点开始,通过遍历的方式抓取系统所能允许存储和 阅读全文
摘要:
Nutch 的索引文档数量在100W以下的时候,怎么处理查询响应都比较的快速,基本上不会超过0.5秒。但是超过200W索引文档 的时候如果不处理,查询的响应时间就会超过这个数字。如果内存足够,甚至可以把200W的索引文档全部加载到内存,这时查询响应时间会小于0.1秒,但内存占用会超过1.5G,这种方式适合数据量比较小的查询系统,例如文献检索等。 当数据量超过200W的时候如果全部加载到内存则不太适合了,因为受JVM最大内存的限制(1.2G到3.6G Linux下),加载超过200W索引页面的时候,JVM会溢出。 以下介绍通过几种方式实现超过1000W的索引页面查询响应时间降低到0.5秒以内.. 阅读全文
摘要:
Lucene 是apache软件基金会jakarta项目组的一个子项目,是一个开放源代码的全文检索引擎工具包,即它不是一个完整的全文检索引擎,而是一个全文检索引擎的架构,提供了完整的查询引擎和索引引擎,部分文本分析引擎(英文与德文两种西方语言)。Lucene的目的是为软件开发人员提供一个简单易用的工具包,以方便的在目标系统中实现全文检索的功能,或者是以此为基础建立起完整的全文检索引擎。 作为一个开放源代码项目,Lucene从问世之后,引发了开放源代码社群的巨大反响,程序员们不仅使用它构建具体的全文检索应用,而且将之集成到各种系统软件中去,以及构建Web应用,甚至某些商业软件也采用了Lucen. 阅读全文
摘要:
在tomcat下root\WEB-INF\classes 的 nutch-default.xml文件的<name>searcher.summary.length</name><value>70</value>70就是简介的长度 阅读全文