全文预览

搜索引擎系统-毕业论文.doc

上传者:学习一点 |  格式:doc  |  页数:28 |  大小:0KB

文档介绍
cene当成一个支持全文索引的数据库系统。Р索引数据源:doc(field1,field2...) doc(field1,field2...)Р \ indexer /Р _____________Р | Lucene Index|Р --------------Р / searcher \Р 结果输出:Hits(doc(field1,field2) doc(field1...))РDocument:一个需要进行索引的“单元”,一个Document由多个字段组成РField:字段РHits:查询结果集,由匹配的Document组成Р3.2.2 Lucene的索引效率Р通常书籍后面常常附关键词索引表(比如:北京:12, 34页,上海:3,77页……),它能够帮助读者比较快地找到相关内容的页码。而数据库索引能够大大提高查询的速度原理也是一样,想像一下通过书后面的索引查找的速度要比一页一页地翻内容高多少倍……而索引之所以效率高,另外一个原因是它是排好序的。对于检索系统来说核心是一个排序问题。Р由于数据库索引不是为全文索引设计的,因此,使用like "%keyword%"时,数据库索引是不起作用的,在使用like查询时,搜索过程又变成类似于一页页翻书的遍历过程了,所以对于含有模糊查询的数据库服务来说,LIKE对性能的危害是极大的。如果是需要对多个关键词进行模糊匹配:like"%keyword1%" and like "%keyword2%" ...其效率也就可想而知了。所以建立一个高效检索系统的关键是建立一个类似于科技索引一样的反向索引机制,将数据源(比如多篇文章)排序顺序存储的同时,有另外一个排好序的关键词列表,用于存储关键词==>文章映射关系,利用这样的映射关系索引:[关键词==>出现关键词的文章编号,出现次数(甚至包括位置:起始偏移量,结束偏移量),出现频率],检索过程就是把

收藏

分享

举报
下载此文档