基于Lucene的全文检索的研究及实现
2018-07-28徐诚皓
电脑知识与技术 2018年11期
徐诚皓
摘要:Lucene是一个基于Java 开发的,高效的、开源的全文索引引擎工具包。它使用简单,有良好的移植性,可以嵌入到各种系统及应用中。同时它也是强大的,实现了针对多种复杂文档的索引及检索。文章介绍分析了Lucene的系统结构,与关系型数据库的不同以及其实现机制,开发实现了一个基于Lucene的Web应用。
关键词:全文检索;Lucene;中文分词;Web实现
中图分类号:TP311 文献标志码:A 文章编号:1009-3044(2018)11-0095-03
Lucene是一个开源全文检索工具包,它具有优异的索引结构和良好的系统架构,提供了灵活的API函数接口和可以定制的数据存储结构,以实现具体的全文检索功能。Lucene完全由Java JDK开发而成,没有用到任何第三方开发包,因此,Lucene也具有良好的跨平台特性。文章对Lucene进行了研究和分析,以此为基础设计实现了一个手机信息检索的Web应用。
1 全文检索引擎Lucene
1.1系统结构
由于是基于Java设计的,Lucene也运用了面向对象的设计思想。首先,各种格式的文件被Lucene的对外接口导入之后,通过分析器,被转换成了一种中间索引文件,这种文件能在不同平台间兼容共享;之后,Lucene通过抽象将索引核心组成部分设计为抽象类,并提供具体平台的实现类,用于检索索引及保存结果;最后,以中间索引文件为数据源,使用某个特定平台上的方法,获得想查询的内容。此外,一些经常会使用的对象及方法,与具体平台相关的对象及方法,也封装为类,为查询提供方便。这样就使得Lucene成为了一个简单,高效,易扩展的检索引擎系统。
Lucene 由对外接口、索引核心、基础结构封装三大部分组成。……
登录APP查看全文
