2008-04-25

lucene 漫谈--入门与介绍(3)

关键字: lucene 漫谈 入门 介绍
4 lucene的结构


lucene包括core和sandbox两部分,其中core是lucene稳定的核心部分,sandbox包含了一些附加功能,例如highlighter、各种分析器。
Lucene core有七个包:analysis,document,index,queryParser,search,store,util。


4.1 analysis
Analysis包含一些内建的分析器,例如按空白字符分词的WhitespaceAnalyzer,添加了stopwrod过滤的StopAnalyzer,最常用的是StandardAnalyzer。


4.2 document
Document包含文档的数据结构,例如Document类定义了存储文档的数据结构,Field类定义了Document的一个域。


4.3 index
Index包含了索引的读写类,例如对索引文件的segment进行写、合并、优化的IndexWriter类和对索引进行读取和删除操作的 IndexReader类,这里要注意的是不要被IndexReader这个名字误导,以为它是索引文件的读取类,实际上删除索引也是由它完成, IndexWriter只关心如何将索引写入一个个segment,并将它们合并优化;IndexReader则关注索引文件中各个文档的组织形式。


4.4 queryParser
QueryParser包含了解析查询语句的类,lucene的查询语句和sql语句有点类似,有各种保留字,按照一定的语法可以组成各种查询。 Lucene有很多种Query类,它们都继承自Query,执行各种特殊的查询,QueryParser的作用就是解析查询语句,按顺序调用各种 Query类查找出结果。


4.5 search
Search包含了从索引中搜索结果的各种类,例如刚才说的各种Query类,包括TermQuery、BooleanQuery等就在这个包里。


4.6 store
Store包含了索引的存储类,例如Directory定义了索引文件的存储结构,FSDirectory为存储在文件中的索引,RAMDirectory为存储在内存中的索引,MmapDirectory为使用内存映射的索引。


4.7 util
Util包含一些公共工具类,例如时间和字符串之间的转换工具。
评论
weidewei 2008-04-28
不知道你说04年的lucene in action 是哪本书了.我没看过.Lucene Sandbox 就是lucene-contrib包.官方的介绍http://lucene.apache.org/java/docs/lucene-sandbox/.我看的是2.0以后的版本.2.0以前的跟2.0以后的好象区别很大.我们公司原来有用1.4.3版本的,不过我没怎么看.
lang 2008-04-28
你好,有个问题我问一下。
原来看那本04年的lucene in action ,书中也提到了sandbox的概念,前几天下载了lucene2。3,发现没有这个包的存在,倒是有一个文件夹叫做contribute lib.貌似是概念中的sandbox,不知道你注意到没有!
如果我说的有出入,告诉我一下,因为可能用到sandbox中的内容!
发表评论

提醒: 该博客已发表在公共论坛,博客所有留言会成为论坛回贴,留言请注意遵守论坛发贴规则

您还没有登录,请登录后发表评论

weidewei
搜索本博客
我的相册
0490951c-c71b-355b-8bc9-40e9ed12d2c9-thumb
expanding_universe_1400x904
共 20 张
存档
最新评论