`
文章列表
Lucene应用开发揭秘   华章培训网地址:http://www.hztraining.com/bbs/showtopic-1954.aspx ChinaPub地址:http://product.china-pub.com/3502099&ref=xiliegoumai   注意事项: 由于本人是首次录制此类视频,不完美之处敬请谅解 此系列课程主要包涵 ...
一、总体架构 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 docume ...
一、客户端 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 = runnin ...
1、Map-Reduce的逻辑过程 假设我们需要处理一批有关天气的数据,其格式如下: 按照ASCII码存储,每行一条记录 每一行字符从0开始计数,第15个到第18个字符为年 第25个到第29个字符为温度,其中第25位是符号+/- 0067011990999991950051507+0000+ 0043011990999991950051512+0022+ 0043011990999991950051518-0011+ 0043012650999991949032412+0111+ 0043012650999991949032418+0078+ 0 ...
一、文件的打开 1.1、客户端 HDFS打开一个文件,需要在客户端调用DistributedFileSystem.open(Path f, int bufferSize),其实现为: public FSDataInputStream open(Path f, int bufferSize) throws IOException {   return new DFSClient.DFSDataInputStream(         dfs.open(getPathName(f), bufferSize, verifyChecksum, statistics)); ...
在有关Lucene的问题(7),讨论了使用Lucene内存索引和硬盘索引构建实时索引的问题。 然而有的读者提到,如果涉及到文档的删除及更新,那么如何构建实时的索引呢?本节来讨论这个问题。 1、Lucene删除文档的几种方式   IndexRe ...
Lucene 原理与代码分析系列文章已经基本告一段落,可能问题篇还会有新的更新。   完整版pdf可由以附件下载。     目录如下:     目录 目录 第一篇:原理篇 第一章:全文检索的基本原理 一、总论 二、索引里面究竟存些什么 三、如何创建索引
由于前一章所述的Lucene的事务性,使得Lucene可以增量的添加一个段,我们知道,倒排索引是有一定的格式的,而这个格式一旦写入是非常难以改变的,那么如何能够增量建索引呢?Lucene使用段这个概念解决了这个问题,对于每个 ...
所谓事务性,本多指数据库的属性,包括ACID四个基本要素:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability)。 我们这里主要讨论隔离性,Lucene的IndexReader和IndexWriter具有隔离性。 当IndexReader.open打开一个索引的时候,相对于给当前索引进行了一次snapshot,此后的任何修改都不会被看到。 仅当IndexReader.open打开一个索引后,才有可能看到从上次打开后对索引的修改。 当IndexWriter没有调用Commit的时候,其修改的内容是不能够被看到的 ...
1、抽象类Analyzer 其主要包含两个接口,用于生成TokenStream: TokenStream tokenStream(String fieldName, Reader reader); TokenStream reusableTokenStream(String fieldName, Reader reader) ; 所谓TokenStream,后面我们会讲到,是一个由分词后的Token结果组成的流,能够不断的得到下一个分成的Token。 为了提高性能,使得在同一个线程中无需再生成新的TokenStream对象,老的可以被重用,所以有reusableT ...
1、群体的冲动、易变和急躁 所有刺激因素都对群体有控制作用,并且它的反应会不停地发生变化。 孤立的个人具有主宰自己的反应行为的能力,群体则缺乏这种能力。 刺激群体的因素多种多样,群体总是屈从于这些刺激,因 ...
聚集成群的人,他们的感情和思想全都转到同一个方向,他们自觉的个性消失了,形成了一种集体心理。 自觉的个性的消失,以及感情和思想转向一个不同的方向,是就要变成组织化群体的人所表现出的首要特征,但这不一定 ...
发生在文明变革之前的大动荡,如罗马帝国的衰亡和阿拉伯帝国的建立,乍看上去,似乎是由政治变化、外敌入侵或王朝的倾覆决定的。 造成文明洗心革面的惟一重要的变化,是影响到思想、观念和信仰的变化。令人难忘的历 ...
千里之行,始于足下,无论你有多么的豪情万丈,总要从最基础的东西做起。 然而要做一个好的基层工作人员,并不是低头认认真真写好代码就可以的,其中可大有学问。 按照余世维所论,一个好的下属应该: 主动向上司汇报你的工作进度——让上司知道! 对上司的询问,有问必答,而且清楚——让上司放心! 充实自己,努力学习,才能了解上司的言语——让上司轻松! 接受批评,不犯两次过错——让上司省事! 不忙的时候,主动帮助他人——让上司有效! 毫无怨言的接受任务——让上司圆满! 对自己的业务,主动提出改善计划——让上司进步! 我也总结了如下几点,欢迎大家补充。 (1) 做得快还是做 ...
Lucene学习总结之九:Lucene的查询对象(1) http://forfuture1978.iteye.com/blog/669444 Lucene学习总结之九:Lucene的查询对象(2) http://forfuture1978.iteye.com/blog/669445 Lucene学习总结之九:Lucene的查询对象(3) http://forfuture1978.iteye.com/blog/669446  
Global site tag (gtag.js) - Google Analytics