搜索引擎学习
文章平均质量分 69
lijian_nhy
这个作者很懒,什么都没留下…
展开
-
nutch1.4 环境变量设置
Exception in thread "main" java.io.IOException: Job failed! at org.apache.hadoop.mapred.JobClient.runJob(JobClient.java:1252) at org.apache.nutch.crawl.Injector.inject(Injector.java:217) at org....原创 2012-04-06 12:52:06 · 115 阅读 · 0 评论 -
深入学习Heritrix---解析Frontier(链接工厂)
原创作者: pengranxiang 阅读:231次 评论:0条 更新时间:2009-03-19 收藏 Frontier是Heritrix最核心的组成部分之一,也是最复杂的组成部分.它主要功能是为处理链接的线程提供URL,并负责链接处理完成后的一些后续调度操作.并且为了提高效率,它在内部使用了Berkeley DB.本节将对它的内部机理进行详细解剖.在Heritrix的...原创 2009-06-03 21:50:06 · 121 阅读 · 0 评论 -
lucene2.0+heritrix示例补充
由于lucene2.0+heritrix一书示例用的网站(http://mobile.pconline.com.cn/,http: //mobile.163.com/)改版了,书上实例不能运行,我又找了一个http://mobile.younet.com/进行开发并成功实现示例,希望感兴趣的同学,近快实践,如果此网站也改了就又得改extractor了,哈哈! search的Extractor代...原创 2009-06-03 21:31:46 · 117 阅读 · 0 评论 -
htmlparser 使用手册
2009-05-08 14:20需要做一个垂直搜索引擎,比较了nekohtml和htmlparser 的功能,尽管nekohtml在容错性、性能等方面的口碑好像比htmlparser好(htmlunit也用的是nekohtml),但感觉 nekohtml的测试用例和文档都比htmlparser都少,而且htmlparser基本上能够满足垂直搜索引擎页面处理分析的需求,因此先研...原创 2009-05-30 16:47:45 · 142 阅读 · 0 评论 -
Nutch插件机制和Nutch一个插件实例
2007年06月16日 星期六 15:07Plugin中心(翻译) plugin(插件)为nutch提供了一些功能强大的部件,举个例子,HtmlParser就是使用比较普遍的用来分析nutch抓取的html文件的插件。 为什么nutch要使用这样的plugin系统? 有三个原因:1:可扩展性 通过plugin,...原创 2009-05-25 23:54:30 · 101 阅读 · 0 评论 -
Nutch插件机制和Nutch分词机制分析
字体大小 [大 中 小] Plugin插件机制为Nutch提供了很强大的扩展性,曾经看到一篇文章《不选择使用Lucene的6大原因》,其中就提到lucene的API不够开放。Lucene的OO设计的非常糟,尽管有包package和类class,但是Lucene的设计基本上没有设计模式的身影。这是不是c或者c++程序员写java程序的通病?Lucen...原创 2009-05-25 23:49:41 · 156 阅读 · 0 评论 -
Nutch Crawler工作流程
Nutch Crawler工作流程及文件格式详细分析Crawler和Searcher两部分被尽是分开,其主要目的是为了使两个部分可以布地配置在硬件平台上,例如Crawler和Searcher分别被放置在两个主机上,这样可以极大的提高灵活性和性能。一、总体介绍: 1、先注入种子urls到crawldb 2、循环:generate 从crawldb中生成一个url的子集用于抓取 ...原创 2009-05-24 09:41:26 · 87 阅读 · 0 评论 -
Nutch的应用
Nutch作为一款刚刚诞生的开源Web搜索引擎,提供了除商业搜索引擎外的一种新的选择。个人、企业都可通过Nutch来构建适合于自身需要的搜索引擎平台,提供适合于自身的搜索服务,而不必完全被动接收商业搜索引擎的各种约束。 Nutch的工作流程可以分为两个大的部分:抓取部分与搜索部分。抓取程序抓取页面并把抓取回来的数据进行反向索引,搜索程序则对反向索引进行搜索回答用户的请求,索引是联系这两者的纽带。...原创 2009-05-24 01:48:47 · 119 阅读 · 0 评论 -
Luke原来可以这样用
Luke是辅助Lucene的一个工具。 刚才用Luke查看昨天建的一个索引,无意中发现Luke的plugin中带了一个Analyzer的测试工具。 在Luke中选择plugins标签,再选择Analyzer Tool,就可以使用这个测试Analyzer的工具了。在下拉列表中选择要测试的Analyzer,然后输入要分析的文本,点Analyze,就可以看到分析出来的token了。这个工具...原创 2009-05-24 01:35:49 · 180 阅读 · 0 评论 -
最近的配置
# The url filter file used by the crawl command.# Better for intranet crawling.# Be sure to change MY.DOMAIN.NAME to your domain name.# Each non-comment, non-blank line contains a regular expressi...原创 2009-05-24 01:32:26 · 99 阅读 · 0 评论 -
让crawl-urlfilter.txt指定的过滤生效果
在网络搜索了好些天,让nutch指定搜索过滤的网页,可是老是执行不了.比如:我在urls/url.txt 文件里http://www.360buy.com/ 而让crawl-urlfilter.txt如下:# The url filter file used by the crawl command.# Better for intranet crawling.# Be sure ...2009-05-24 00:48:26 · 125 阅读 · 0 评论 -
Nutch的插件机制
Nutch的插件机制,具有很好的扩展性,这里讨论一下其实现机制。从URLFilters入手吧。类URLFilters中,有个静态方法: static { 。。。。 try { ExtensionPoint point = PluginRepository.getInstance().getExtensionPoint(URLFilter...原创 2009-05-24 00:33:48 · 60 阅读 · 0 评论 -
Nutch中creativecommons插件的分析
Cretivecommons插件的主要作用是从抓取的网页中提取一些特定的或者我们自定义的一些信息(这里的信息必须符合cc机制),为这些信息建立索引,提供查询的功能.举个例子:比如我们正在爬行某招聘网站的网页,我们对某一招聘信息的职位描述感兴趣,那么我们就可以扩展这一插件,筛取出此网页职位描述的信息,建立此网页新Field(Lunene的Document),入索引库.等待查询或者进行别的操作. ...原创 2009-05-23 13:50:33 · 104 阅读 · 0 评论 -
nutch 部分问题解决方案
1.nutch建立索引成功,通过lucene直接搜索索引文件可以搜索到相关结果,但是通过nutch搜索不到结果解决方案:<property> <name>searcher.dir</name> <value>crawl</value></property>在nutch-default.xml中配置searche...原创 2009-05-23 13:48:55 · 58 阅读 · 0 评论 -
深入学习Heritrix---解析CrawlController
当我们以Web UI方式使用Heritrix时,点击任务开始(start)按钮时,Heritrix就开始了它的爬取工作.但它的内部执行流程是怎样的呢?别急,下面将慢慢道来.(一)CrawlJobHandler当点击任务开始(start)按钮时,将执行它的startCrawler()方法:if(sAction.equalsIgnoreCase("start")){ ...原创 2009-06-06 10:00:38 · 88 阅读 · 0 评论 -
深入学习Heritrix---解析Frontier(链接工厂)
Frontier是Heritrix最核心的组成部分之一,也是最复杂的组成部分.它主要功能是为处理链接的线程提供URL,并负责链接处理完成后的一些后续调度操作.并且为了提高效率,它在内部使用了Berkeley DB.本节将对它的内部机理进行详细解剖.在Heritrix的官方文档上有一个Frontier的例子,虽然很简单,但是它却解释Frontier实现的基本原理.在这里就不讨论,有兴趣的读者可以参考...原创 2009-06-06 10:02:53 · 80 阅读 · 0 评论 -
深入学习Heritrix---解析处理器(Processor)
键字: heritrix processor本节解析与处理器有关的内容.与处理器有关的主要在以下几个类:Processor(处理器类),ProcessorChain(处理器类),ProcessorChainList(处理器链列表).它们之间的关系如下:下面将解析该图. (1)Processor代表一个处理器. Codepackage org.archive.c...原创 2009-06-06 13:17:40 · 100 阅读 · 0 评论 -
正则使用
java正则表达式(java.Regex)HtmlParser用时易错的几个点一,在调用了matcher()方法后,需要调用matches()方法,不然的话,匹配不会成功。开始把它当成了个判断是否有匹配串的结果的一个函数。判断是否有匹配结果是用find方法。二,在匹配的时候,对于某一个组,返回的串是最后一个匹配成功的串,之前的被覆盖。而且构造正则表达式的时候,要从串的开始来构造。...原创 2010-06-18 00:19:29 · 88 阅读 · 0 评论 -
nutch 1.0 读源码,过滤掉不正确的URL实现方法
nutch 1.0 读源码,过滤掉不正确的URL实现方法:对URL不规则或想过滤掉的地方,可以通过修改源码来实现,省去写配置文件,因为配置文件并不是太明朗,有些配置了也不一定成功。所以我考虑在源码上作操作。更好地扩展。当然你也可以去写插件,这儿就不说了,因为我也没有去那样实现,我只是对插件进行了扩展采集自己想要的内容。 过滤URL部分:类:CrawlDbFilter // ...原创 2010-06-18 00:17:16 · 111 阅读 · 0 评论 -
Exception in thread "main" org.apache.hadoop.mapred.InvalidInputExnutch新发现,为以后备忘
urls -dir mycrawl -depth 3 -topN 10 -threads 1 是正确的urls -dir mycrawl20 -depth 3 -topN 10 -threads 1 是错误的,索引目录,不能有数字,具体为什么我尚没有查看源码。不过终于找着原因就ok了。 垂直搜索交流群:55388905 ...原创 2010-06-16 23:16:05 · 223 阅读 · 0 评论 -
如何配置compass的索引位置为相对路径
Compass是对lucene进行封装的java项目,使得在spring,hibernate这种环境下非常容易的实现全文检索,也极大的提高了效率。所以在myblog里面我也使用了compass作为全文索引。从Compass的samples里面的petclinic里面可以找到Compass的配置。 <bean id="compass" class="org.compass.spr...原创 2009-09-01 19:28:22 · 120 阅读 · 0 评论 -
HTMLParser 解析html字符串,提取纯文本
今天在群里问别人怎么提取文本,也没有具体告诉我用什么,只是说用htmlParser就可提取,查了查API,发现有个类很不错,两句话搞定哈。 import org.htmlparser.Parser;import org.htmlparser.visitors.TextExtractingVisitor;public class Test { public static voi...2010-05-14 09:59:12 · 351 阅读 · 0 评论 -
HTMLParser的两种使用方法[转]
HTMLParser的两种使用方法文章分类:Java编程HTMLParser的两种使用方法 因为论文的关系,要用到HTMLParser这个项目(使用的HTMLParser版本是1.6)一,数据组织分析:HtmlParser主要靠Node、AbstractNode和Tag来表达Html,因为Remark和Text相对简单,此处就将其忽略了。Node是形...原创 2010-05-13 23:37:41 · 133 阅读 · 0 评论 -
搜索引擎术语
附录. 术语 B: 半结构化数据(semi-structured data),和普通纯文本相比,Web上的网页数据具有一定的结构性,表现在其中的HTML标注上;但和具有严格理论模型的关系数据库的数据相比,这种HTML标注带来的结构性又要弱很多,因此人们称Web上的数据为半结构化数据,这是Web上数据的基本特点。 布尔模型(boolean model),在信息检索领域,不同的场合有不同的含义。当我们...2010-05-05 11:40:20 · 178 阅读 · 0 评论 -
影响Lucene索引速度原因以及提高索引速度技巧[转]
影响Lucene索引速度原因以及提高索引速度技巧关键字: 影响lucene索引速度原因以及提高索引速度技巧 在网上看了一篇外文文章,里面介绍了提高Lucene索引速度的技巧,分享给大家。 先来看下影响索引的主要因素: MaxMergeDocs 该参数决定写入内存索引文档个数,到达该数目后就把该内存索引写入硬盘,生成一个新的索引segment文件。 所以该参数也就是一个内存buffer,一般...2010-04-25 00:11:34 · 89 阅读 · 0 评论 -
heritrix 基本介绍
Heritrix使用小结1. Heritrix 简介Heritrix是一个专门为互联网上的网页进行存档而开发的网页检索器。它使用Java编写并且完全开源。它主要的用户界面可以通过一个web流量器来访问并通过它来控制检索器的行为,另外,它还有一个命令行工具来供用户选择调用。Heritrix是由互联网档案馆和北欧国家图书馆联合规范化编写于2003年初。第一次正式发布是在2004年1月...原创 2009-08-01 10:35:24 · 843 阅读 · 0 评论 -
我对HtmlParser 提取网页各属性的总结及示例说明
/** * 属性过滤器 * @param parser * @param obj * 如:NodeFilter filterTable = new TagNameFilter("tr"); NodeFilter filterHeight = * new HasAttributeFilter("height", "100"); NodeFilt...2009-07-08 13:50:50 · 103 阅读 · 0 评论 -
数学之美 系列十三 信息指纹及其应用
2006年8月3日 上午 11:17:00<script></script>发表者:吴军,Google 研究员 任何一段信息文字,都可以对应一个不太长的随机数,作为区别它和其它信息的指纹(Fingerprint)。只要算法设计的好,任何两段信息的指纹都很难重复,就如同人类的指纹一样。信息指纹在加密、信息压缩和处理中有着广泛的应用。我们在图论和网络爬虫一文中提到,...原创 2009-06-25 22:34:39 · 66 阅读 · 0 评论 -
数学之美系列二十一 - 布隆过滤器(Bloom Filter)
2007年7月3日 上午 09:35:00<script></script>发表者:Google(谷歌)研究员 吴军 在日常生活中,包括在设计计算机软件时,我们经常要判断一个元素是否在一个集合中。比如在字处理软件中,需要检查一个英语单词是否拼写正确(也就是要判断它是否在已知的字典中);在 FBI,一个嫌疑人的名字是否已经在嫌疑名单上;在网络爬虫里,一个网址是否被...原创 2009-06-25 22:27:20 · 82 阅读 · 0 评论 -
用HTMLParser提取URL页面超链接的一段代码(小试牛刀)
用HTMLParser提取URL页面超链接的一段代码(小试牛刀)package htmlparser;import java.util.HashMap;import java.util.Map;import org.htmlparser.Node;import org.htmlparser.NodeFilter;import org.htmlparser.Parser;import or...原创 2009-06-06 16:54:49 · 159 阅读 · 0 评论 -
如何增加Nutch中Summary的长度
在nutch-site.xml添加以下配置,<configuration>...<property> <name>searcher.summary.length</name> <value>50</value>//默认为20 <description> The total number of t原创 2009-05-23 13:44:32 · 83 阅读 · 0 评论 -
Windows 下运行Nutch批处理脚本
Windows 下运行Nutch批处理脚本日期:2007-08-03 点击:<script src="/plus/count.php?view=yes&amp;aid=39"></script>403 作者:不会游泳的鱼 来源: 字体:[ 大 中 小 ] <script type="text/...原创 2009-05-23 13:33:48 · 94 阅读 · 0 评论 -
Nutch插件加载分析
当某个插件需要被加载时, Nutch 会加载所有插件的相关接口到缓存,此后每个插件需要实例的时候,根据相关接口和相关接口实现实例在缓存内的记录,使用反射实现一个实例并返回,下面以 QueryFilter 的所有插件被加载例子进行说明。 具体代码参看org.apache.nutch.seacher.QueryFilters<init>( 1 )当第一次需要得到 QueryFilt...原创 2009-05-14 23:50:28 · 80 阅读 · 0 评论 -
开源搜索引擎Nutch 0.9的安装使用
Nutch是Apache组织的一个开源项目,利用它用户可以 建立自己内部网的搜索引擎,也可以建立针对整个网络的搜索引擎。一、Linux下的安装使用 (我使用的操作系统是red hat as4) 1.安装JDK,我安装的是JDK1.5 update11,安装方法到网上搜 2.安装TOMCAT,我安装的是tomcat5.5.23,安装方法到网上搜,输入http://127.0.0.1:8080出...原创 2009-05-12 21:14:41 · 80 阅读 · 0 评论 -
开发基于 Nutch 的集群式搜索引擎
文档选项<script type="text/javascript"></script>打印本页<noscript></noscript><script type="text/javascript"></script>原创 2009-05-12 09:54:38 · 157 阅读 · 0 评论 -
实现NUTCH中文分词的代码修改方法
现在实现基本中文分词功能的代码和软件模块很多,性能也还可以,但是怎样将其应用到NUTCH中的方法介绍相对较少,下面我就实现NUTCH中文分词的NUTCH代码修改方法与步骤,抛砖引玉的介绍一下。 代码修改的切入点是通过对NUTCH处理中文的切分器Tokenizer的修改或者替换(这里介绍的是替换),使中文分词由单字切分变为词语切分。对于相关的NUTCH基本知识,我就不赘述了。因为NUTC...原创 2009-05-12 09:51:07 · 82 阅读 · 0 评论 -
关于Nutch框架
在接触到一个新的事物的时候,根据人的认知过程,我们势必要知道这个新事物的是什么,即What;然后,便是为什么要认知这个新的事物,如果没有任何理由的话说明完全没有必要去了解它,因为它可能对我们没有一点用处,这就是所谓的Why;接着就是How,该如何认知一个新的事物,使用什么样的方式和手段,只有在通过逐步的迭代执行What这个步骤和实施How,我们才能逐步了解、认识、理解这个新事物,使其为我所使用。...原创 2009-05-10 22:57:56 · 156 阅读 · 0 评论 -
Nutch-0.9源代码:NutchConfiguration类
org.apache.nutch.util.NutchConfiguration类是Nutch爬虫的配置类,其中包括爬虫的初始化配置和运行时配置。说到NutchConfiguration类,我认为有必要提到Hadoop的Configuration类,即org.apache.hadoop.conf.Configuration。在Nutch早期开发版本中,Hadoop是Nutch项目的一部分,其中Ha...原创 2009-05-10 22:51:37 · 81 阅读 · 0 评论 -
理解Nutch的工作流程
在没有学习研究Nutch的源代码之前,我认为还是有必要对Nutch的工作流程有一个感性的认识和了解。通过对Nutch工作流程的学习认识,先有一个整体的印象,然后可以很好地指导我们去阅读学习它的源代码,从而更加深入理解Nutch。当然,也不是唯一的,在阅读一个框架的源代码的时候,只要你选择了一个好的突破口,然后按照基于深度遍历的特性来学习理解,也能起到一定效果。但是,这种方式有点像是对着一个黑盒...原创 2009-05-10 15:41:44 · 136 阅读 · 0 评论 -
分析Nutch的工作流程
Nutch的大致工作流程可以通过上一篇文章有了一定的了解了。在上一篇文章中,主要是针对一幅Nutch工作流程图片来了解Nutch的工作流程,十分感性,并没有涉及到任何关于Nutch的包和类。这里通过在网上下载的一个《Nutch入门学习》的PDF文档中介绍的内容,来详细组织一下,加深了解,为深入研究Nutch的源代码奠定良好的基础。这里通过几个标题来叙述。Nutch爬虫工作策略Nutch...原创 2009-05-10 15:38:37 · 226 阅读 · 0 评论