基于Lucene的Oracle数据库全文检索

2010年第3期中图分类号:TP311.13文献标识码:A文章编号:1009—2552(20lO)∞一0156—03

基于Lucene的Oracle数据库全文检索

葛振国,李建,何林糠,吴军

(西南石油大学计算机科学学院,成都610500)

摘要:全文检索是信息时代必不可少的技术,应用越来越广泛。文中对开源的搜索引擎工具包Lucene进行研究,并将其应用到全文检索系统中,详细介绍了如何使用Lucene来创建索引和检索数据,然后给出了一个针对Oracle数据库全文检索的实现方法。

关键词:Lucene;全文检索;Oracle

OracledatabasefhlI.textsearchbasedOHLucene

GEZhen-guo,LIJian,HELin-kang,WUJun

(School0fo哪呻Science,Southwest^灯蛔University0fChina,a嘲垮dII610500,Odna)

Abstract:Full—textsearchisanindispensabletechnologyfortheinformationageandwidelyapplied.This

paperstudiesthetoolkitLuceneoftheopen¥ourcesearchengine,appliesitonthefull—textsearchsystem,

describesindetailhowtoindexandsearchdatasusingLucene,thengivesallimplementationforOracledatabase.

Keywords:Lucene;full—textsearch;Oracle

0引言

随着企业数据的不断增长,数据量急剧增多,从海量的数据中查找相关信息已经是每个企业必须要解决的问题,而搜索引擎正是解决这一问题的最为合理的方法,搜素引擎比传统的数据库模糊查询速度优势显而易见,也是后者望尘莫及的。目前,领先的搜索技术大都掌握在大公司的手中,如soogle、百度等,也存在一些开源的搜索引擎软件,这其中引人注目的无非是Lacene,由于其自身良好的跨平台和简单易用等特点,已经吸引众多的用户群体,本文对Lucene做一个研究,并将其应用到Oracle数据库的全文检索中。

1Lucene简介

1.1全文检索引擎Lucene

全文检索是指计算机索引程序通过扫描文章中的每一个词,对每一个词建立一个索引,指明该词在文章中出现的次数和位置,当用户查询时,检索程序就根据事先建立的索引进行查找,并将查找的结果反馈给用户的检索方式。

一156一

Lucene是一套基于Java的开源全文搜索引擎API,它不是一个完整的全文检索引擎,而是一个全文检索引擎的架构,提供了完整的查询引擎和索引引擎,部分文本分析引擎。I.ucene的目的是为软件开发人员提供一个简单易用的工具包,以方便在目标系统中实现全文检索的功能,或者是以此为基础建立起完整的全文检索引擎。因此,以最小的代价就可以将Lucene应用到需要全文检索的应用当中。

Lucene可以对数据库表、WORD文档、PDF文档、HTML文档、文本文件建立索引,只需要将数据源转化成通用的结构来屏蔽源数据的不同,只需设计每种格式对应的解析器便可以对各种文件进行索引,索引逻辑如图l所示。

Lucene内部定义了索引文件的格式,具有独立于应用平台的特点,采用倒排索引结构提高检索速度,并且应用面向对象技术,便于扩展及二次开发。

收稿日期:2009一傀一27

作者简介:葛振围(1984一),男,硕士研究生,主要研究方向为数据库应用与开发。

万方数据

相关主题
相关文档
最新文档