全文检索中的索引策略-倒排索引
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
课程考试(论文) 作业(论文)题目: 全文检索中的索引策略 所修课程名称: Ajax 技术 修课程时间: 2011 年 03 月至 2011 年 05 月
完成作业(论文)日期: 2011 年 06 月 评阅成绩: 评阅意见: 评阅教师签名: 年 月 日
__
_
_
计算机科学__
__
系__
__
08__
__级____
软件工程___
_专业
姓名_
___**
____
学号__
__20
08090112_
_
_
_
…
…
…
…
…
……
…
…
………
(密
)
…
…
…
…
…
…
……
…
…
…
…(
封
)
…
……
…
…
…
……
…
…
……
(
线
)
……
…
……
……
…
…
…
…
…
基于HibernateSearch+Ajax全文检索中的索引策略
**
(四川文理学院计算机科学系,四川 ** 123456)
摘要:本文主要讲解全文检索中的索引的种类、发展、实现原理。索引文件有多种组织形式,其中以正排表、倒排表、后继数组模型以及互关联后继数组模型比较常用。下面主要详细列举介绍Lucene倒排索引的组织形式以及实现原理。
关键词:索引;搜索引擎;全文检索;Lucene倒排索引;实现原理;
Based on HibernateSearch + Ajax full text search the
index of the strategy
**
(Department of Computer Science, Sichuan University of Arts and Science, **123456,China)Abstract:
this paper explained the index of the full text search the kinds, development and realize the principle. The index DuoZhong organization form, among them with are row watch, inverted table, subsequent array model and mutual association subsequent array model is commonly used. Below are the main detailed introduced Lucene inverted index the form of organization as well as the realization principle.
Key words:index; Search engine; Full text search; Lucene inverted index;
1引言
使用索引可快速访问数据库表中的特定信息。索引是对数据库表中一列或多列的值进行排序的一种结构,例如 employee 表的姓(name)列。如果要按姓查找特定职员,与必须搜索表中的所有行相比,索引会帮助您更快地获得该信息。
索引是一个单独的、物理的数据库结构,它是某个表中一列或若干列值的集合和相应的指向表中物理标识这些值的数据页的逻辑指针清单。
在搜索引擎实际的应用之中,有时需要按照关键字的某些值查找记录,所以我们是按照关键字建立索引,这个索引我们就称之为——倒排索引,而带有倒排索引的文件我们又称作——倒排索引文件,也可以叫它为——倒排文件,来实现快速的检索与高速的效率。
基金项目:四川**学院2011年科研项目(2011B02Z);2011年四川省教育厅重点项目(11ZA172)
作者简介:**(1989-11-15),男,汉族,四川巴**市人,本科在读,研究方向为软件工程。
2 索引在中文检索中的位置及研究现状
全文检索是指计算机索引程序通过扫描文章中的每一个词,给每一个词建立一个索引,指明该词在文章中出现的次数和位置,当用户查询时,检索程序就根据事先建立的索引进行查找,并将查找的结果反馈给用户的检索方式。这个过程类似于通过字典中的检索字表查字的过程。
在上段全文检索的叙述中提到了索引,为什么要建立索引?索引对于全文检索到底意味这什么?在Otis Gospodnetic和Erik Hatcher的lucene in action一文中提到“在搜索引擎的所有概念中最为核心的概念就是索引,索引就是把原始的数据处理成一个有利于高效检索的数据形式。”他们就为什么要进行索引给出了具体和形象的说明:“假如你需要在很大量的文中进行某个特定信息的检索,并且你想在非常短的时间内找到含有需要信息的文件,你会怎样写程序实现这些?最简单的方法是顺序扫描所有的文件寻找给定词和短语,但这种方式有一些缺点,其中最致命的是当文件很大时根本没有足够的空间来存储该文件,这就是为什么需要索引了,为了在大量文本中检索到所需要的信息,首先必须把源文本集转换成一另一格式的文件,这种格式的文件能够让你进行快速的检索,而不是只进行很慢的顺序扫描。”这个转化的过程就是索引化,该过程输出的结果就是“索引气在上文中可以知道索引是全文检索的“心脏气下面的全文检索的模型结构图能够清晰的说明索引在全文检索中的地位。
下图即为全文检索的模型结构图:
图1-1全文检索结构模型图
全文检索系统是按照全文检索理论建立起来的用来提供全文检索服务的软件系统,一般来说,全文检索要具有建立索引和提供查询的功能。从上图中可以看出,全文检索系统中最为关键的部分是全文检索引擎,各种应用程序都需要建立在这个检索引擎之上。在检索引擎中可以看出索引引擎占据了核心的位置,他是整个检索效率的重要决定因素,一个全文检索应用的优异程度,根本上由全文检索引擎来决定。而全文检索的效率主要是由一个索引
引擎所决定的。