摘要: 我们来看最复杂的部分,就是Term Dictionary和Term Index文件,Term Dictionary文件的后缀名为tim,Term Index文件的后缀名是tip,格式如图所示。Term Dictionary文件首先是一个Header,接下来是PostingsHeader,这两个的格式...阅读全文
posted @ 2014-08-29 21:14 刘超觉先 阅读(16921) 评论(2) 编辑
摘要: 1. 定长编码最容易想到的方式就是常用的普通二进制编码,每个数值占用的长度相同,都占用最大的数值所占用的位数,如图所示。这里有一个文档ID列表,254,507,756,1007,如果按照二进制定长编码,需要按照最大值1007所占用的位数10位进行编码,每个数字都占用10位。和词典的格式设计中顺序列表...阅读全文
posted @ 2014-08-29 11:40 刘超觉先 阅读(9446) 评论(7) 编辑
摘要: 词典的格式设计词典中所保存的信息主要是三部分:Term字符串Term的统计信息,比如文档频率(Document Frequency)倒排表的位置信息其中Term字符串如何保存是一个很大的问题,根据上一章基本原理的表述中,我们知道,写入文件的Term是按照字典顺序排好序的,那么如何将这些排好序的Ter...阅读全文
posted @ 2014-08-28 10:23 刘超觉先 阅读(18675) 评论(5) 编辑
摘要: Booting and Shutdown阅读全文
posted @ 2013-10-17 00:48 刘超觉先 阅读(534) 评论(0) 编辑
摘要: Lucene应用开发揭秘华章培训网地址:http://www.hztraining.com/bbs/showtopic-1954.aspxChinaPub地址:http://product.china-pub.com/3502099&ref=xiliegoumai注意事项:由于本人是首次录制此类视频,不完美之处敬请谅解此系列课程主要包涵三大部分,一是搜索引擎的原理,二是lucene的深入解析及高级特性,三是实时搜索分布式搜索的框架解析及代码实现对于搜索引擎的原理部分,理论讲解比较多,有的部分内容较少,处于完整性的需要,还是作为单独的一节,可能视频时间较短,好在视频是分节销售的,本人已经阅读全文
posted @ 2011-09-10 00:01 刘超觉先 阅读(8177) 评论(7) 编辑
摘要: 一、总体架构 Zoie是linkedin公司基于Lucene实现的实时搜索引擎系统,按照其官方wiki的描述为: http://snaprojects.jira.com/wiki/display/ZOIE/Overview Zoie is a realtime indexing and search system, and as such needs to have relatively close coupling between the logically distinct Indexing and Searching subsystems: as soon as a document m阅读全文
posted @ 2010-11-29 21:19 刘超觉先 阅读(11229) 评论(10) 编辑
摘要: Hadoop 学习总结之一:HDFS简介Hadoop学习总结之二:HDFS读写过程解析Hadoop学习总结之三:Map-Reduce入门Hadoop学习总结之四:Map-Reduce的过程解析在使用hadoop的时候,可能遇到各种各样的问题,然而由于hadoop的运行机制比较复杂,因而出现了问题的时候比较难于发现问题。 本文欲通过某种方式跟踪Hadoop的运行痕迹,方便出现问题的时候可以通过这些痕迹来解决问题。 一、环境的搭建 为了能够跟踪这些运行的痕迹,我们需要搭建一个特殊的环境,从而可以一步步的查看上一节提到的一些关键步骤所引起的变化。 我们首先搭建一个拥有一个NameNode(namen阅读全文
posted @ 2010-11-23 00:28 刘超觉先 阅读(44957) 评论(9) 编辑
摘要: 转者注:本来想在Hadoop学习总结系列详细解析HDFS以及Map-Reduce的,然而查找资料的时候,发现了这篇文章,并且发现caibinbupt已经对Hadoop的源代码已经进行了详细的分析,推荐大家阅读。 转自http://blog.csdn.net/HEYUTAO007/archive/2010/07/10/5725379.aspx 参考: 1 caibinbupt的源代码分析http://caibinbupt.javaeye.com/ 2 coderplay的avaeye http://coderplay.javaeye.com/blog/295097 http://coderpla阅读全文
posted @ 2010-11-19 23:52 刘超觉先 阅读(9493) 评论(0) 编辑
摘要: 一、客户端 Map-Reduce的过程首先是由客户端提交一个任务开始的。 提交任务主要是通过JobClient.runJob(JobConf)静态函数实现的: public static RunningJob runJob(JobConf job) throws IOException { //首先生成一个JobClient对象 JobClient jc = new JobClient(job); …… //调用submitJob来提交一个任务 running = jc.submitJob(job); JobID jobId = running.getID(); …… ...阅读全文
posted @ 2010-11-19 23:45 刘超觉先 阅读(29535) 评论(3) 编辑
摘要: 1、Map-Reduce的逻辑过程 假设我们需要处理一批有关天气的数据,其格式如下: 按照ASCII码存储,每行一条记录 每一行字符从0开始计数,第15个到第18个字符为年 第25个到第29个字符为温度,其中第25位是符号+/- 0067011990999991950051507+0000+ 0043011990999991950051512+0022+ 0043011990999991950051518-0011+ 0043012650999991949032412+0111+ 0043012650999991949032418+0078+ 00670119909999919370...阅读全文
posted @ 2010-11-14 18:24 刘超觉先 阅读(66259) 评论(10) 编辑