欢迎来到天天文库
浏览记录
ID:41684810
大小:351.35 KB
页数:27页
时间:2019-08-29
《应用ExcelPanel核心组件构建全文检索功能》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、第一章、概述3一.全文检索的基本概念3二.全文检索的评价标准4三.当前较为成熟的全文检索引擎51.Lucence52.FirteX63.Solr6四.使用ExcelPanel建立适合于项目的全文检索引擎71.ExcelPanel中有关全文检索的函数72.利用ExcelPanel建立全文检索引擎的优势83.实战示例9第二章、PowerBuilder/Delphi系统中应用101.在建立应用之前,我们首先假定以下的需求。102.好了,需求进行了明确,下面我们对其进行设计。103.编程实现示例。113.1.内容扫描与索引建立部分11第三章、Java系统中应用181.在建立应用之前,我们首
2、先假定以下的需求182.好了,需求进行了明确,下面我们对其进行设计183.编程实现示例193.1内容扫描与索引建立部分193.2全文检索及显示部分221.在建立应用之前,我们首先假定以下的需求262.好了,需求进行了明确,下面我们对其进行设计273.编程实现示例(略)28Aye:第一早、一.全文检索的基本概念全文检索是指计算机索引程序通过扫描文档中的每一个词,对每一个词建立一个索引,指明该词在文章中出现的次数和位置,当用户查询时,检索程序就根据事先建立的索引进行查找,并将查找的结果反馈给用户的检索方式。这个过程类似于通过字典中的检索字表查字的过程。通过以上定义,我们可以很清楚地认识
3、到要建立一个全文检索引擎所需要做的工作步骤:1.文档解析不管是什么格式的文档,都需要为其建立一个可以被计算机索引扫描程序扫描的文本内容过滤器,这就是在全文检索领域内常说的IFiltero2.建立索引就索引本身而言,根据全文检索的数据量和软件管理需要,一般存储为本地二进制文件或数据库两种类型,如果数据量不是很大,其实也没有建立完整全文检索功能的必要,使用开发语言的字符串定位功能基本能满足要求,相反,既然程序中产生了全文检索的需求,一般说来,数据量比较大或者说极其大,本文只针对数据量比较大这种情况提供解决方案,对极其大的方案尽量釆用正规成熟的搜索引擎如Google>baidu.com等
4、。3.计算机索引程序要建立索引,就需要对文档内容进行索引扫描,分清楚什么是词,出现次数和位置,对英文内容来说,建立索引程序相对比较简单,只需要根据单词间隔符来分隔单词即可实现文档内容解析,但是对中文内容来说,复杂程序一下子就高出了很多倍,我们都知道,在一篇中文的文章中,汉字不同的组合表达不同的含义,有些词组合了才是词,而有的字在上文环境中又不需要组合,有的汉字组合在这句话中是词,在另一句话中就不是词。这里举个最简单的例子:"1995年江泽民到天津视察,一见到天津的脏乱差状况,江泽民生气了”与“我昨天在民生银行还了3500元的贷款”,以上两句话中,在第一句话中,“民生”就不是一个词组
5、,而在第二句话中却是一个词组。另外,中文还存在多音字这种情形,因此为中文的索引分词带来更加复杂的问题。全文检索是否准确,中文分词是关键。1.全文搜索建立好索引后进行全文搜索就是一件相对比较简单的事情了,先对输入搜索内容进行分词,然后对搜索分词在全文索引中进行检索,将检索到的内容返回到计算机界面即可。一.全文检索的评价标准三、当前较为成熟的全文检索引擎1.Lucence這乙见Qg■加S「Lucene不是一个完整的全文索引应用,而是是一个用Java写的全文索引引擎工具包,它可以方便的嵌入到各种应用中实现针对应用的全文索引/检索功能。Lucene的作者DougCutting是一位资深全文
6、索引/检索专家,曾经是V-Twin搜索引擎(Apple的Copland操作系统的成就之一)的主要开发者,后在Excite担任高级系统架构设计师,目前从事于一些INTERNET底层架构的研究。他贡献出Lucene的目标是为各种中小型应用程序加入全文检索功能,2001年年底成为APACHE基金会jakarta的一个子项目。已经有很多Java项目都使用了Lucene作为其后台的全文索引引擎,比较著名的有:•Jive:WEB论坛系统。•Eyebrows:邮件列表HTML归档/浏览/查询系统,本文的主要参考文档"TheLucenesearchengine:Powerful,flexible,
7、andfree”作者就是EyeBrows系统的主要开发者之一,而EyeBrows已经成为目前APACHE项目的主要邮件列表归档系统。•Cocoon:基于XML的web发布框架,全文检索部分使用了Luceneo•Eclipse:基于Java的开放开发平台,帮助部分的全文索引使用了Luceneo对于中文用户来说,最关心的问题是其是否支持中文的全文检索。Lucene具有良好架构设计,对中文的支持只需对其语言词法分析接口进行扩展就能实现对中文检索的支持,这就上面提到的最复杂的
此文档下载收益归作者所有