- 浏览: 419413 次
- 性别:
- 来自: 北京
最新评论
-
springdata_spring:
apache lucene开源框架demo使用实例教程源代码下 ...
有关Lucene的问题(6):Lucene的事务性 -
jaychang:
必须要感谢作者的分享,对理解Lucene的工作原理帮助很大
Lucene学习总结之一:全文检索的基本原理 -
yin_kaihua:
...
Lucene学习总结之三:Lucene的索引文件格式 (1) -
djh122:
...
Lucene 原理与代码分析完整版 -
wayne0830:
多谢楼主分享!
Lucene 原理与代码分析完整版
文章列表
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