首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网络技术 > 网络基础 >

lucene+nutch学习札记四:搜索引擎信息索引

2012-10-25 
lucene+nutch学习笔记四:搜索引擎信息索引???? 在实际的生活中,Nutch只能从网络上收集网页,而对网页本身的

lucene+nutch学习笔记四:搜索引擎信息索引

???? 在实际的生活中,Nutch只能从网络上收集网页,而对网页本身的分析却不能很好的处理。搜索引擎普遍采用全文检索技术,平常的word的字处理工具的查询采用的是顺序扫描文件,这种做法效率比较低,遇到大型的文件则根本就不使用。所以出现了索引这个技术。

?

?? 概括来说: 索引就是给一个文本内容按照一定的格式进行数据重排,使其便与查找。索引技术的核心是倒排索引的结构。倒排索引(Inverted Index)

?

? 索引的分类

?????????????? 按照类型来分:可以分为:字索引,词索引,短语索引,混合索引(实现比较复杂)。

?????????????? 按照管理方式分:可以分为:静态索引和动态索引

?

????? Lucene的索引的介绍:主要包括独立索引模式和复合索引模式。独立索引模式是指每个document独立索引成一个文件,这样数度快,但不适合大量的文档。复合索引就是把所有的Document索引成一个文件,这个文件的内容不同,也可以包括异构型文档。

索引文件可以存放在磁盘和内存中,在磁盘中,可以重复利用,但增加了IO,在内存中,虽数度快,但不能保存。lucene的索引以文件的形式存储,不依赖特定的数据库和操作系统,它是跨平台的。

?

????? Lucene的索引结构

???????????????????? 可以分为,索引索引断索引文档索引域索引项几个。每个索引的结构有一个或多个索引段组成,每个段包含一个或多个文档,每个文档管理一个或多个域,每个域有一个或多个索引项组成。每个索引项是一个索引数据。

??????????????? 1索引(INDEX)

??????????????????? 2索引段(SeGment)

??????????????????? 3索引文档(Document)

??????????????????? 4索引域(Field)

??????????????????? 5索引项(Term)

? 其中Field有多个构造函数,下面这个是参数最多的一个。注意是lucene2.3目前最新为2.4

?? public Field(String name, String value, Store store, Index index, TermVector termVector) {

?

? name,是一个字符串,表示的是需要被索引的属性的名字,可以是name,path,content。

? value,是值,可以为字符串,也可以是Reader类型

? store,表示数据本身是否需要存储,有YES,NO,COMPRESS 三中选择。

? index,表示数据是否需要索引。也就是说这个数据是否哪来查询,这里和数据库不同,数据库的索引字段可以查询,没被索引的字段也可以查询,但这里没被索引的Field不能查询。

? ? ? ?? A:TOKENIZED:分词并建立索引

? ? ? ?? B:NO :不建立索引

? ? ? ?? C:UN_TOKENIZED把内容作为一个整体,避免分词的麻烦。

? ? ? ?? D:NO_NORMS? 禁用分析器处理。

?

termVector:表示域内的信息是否需要分词,通常在中文搜索中使用。

?

热点排行