全文检索系统技术体系说明_第1页
全文检索系统技术体系说明_第2页
全文检索系统技术体系说明_第3页
全文检索系统技术体系说明_第4页
全文检索系统技术体系说明_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、档案信息全文检索系统技术体系说明、需求场景分析1. 中文单字检索2. 英文单词检索3. 中文二分词、三分词、四分词精确检索支持在结果中查询显示1. 突出显示查询关键字2. 显示结果数、搜索用时、页数、页码链接、上 下页3. 显示标题、关键字上下文、链接J4. 在结果中打开站内文件突出显示关键字1. 查询需求功能中文单字检索:把汉字关键词分割为单字,以单字为最小检索单位,如您好分 为:您、好 英文单词检索:英文以单词为最小检索单位中文二分词、三分词、四分词精确检索:对于两个、三个、四个汉字组成的关键 词进行精确检索,五个以上汉字组成的关键词作二二分割,如“振兴中华民族” 分割为:振兴、兴中、中华

2、、华民、民族,再进行精确检索根据场景对关键字、词根据上述规则进行智能搭配后检索:如“use我爱你tools”分割为:use tools、我爱、爱你支持在结果中查询显示突出显示查询关键字:在结果显示页的标题、上下文摘要中用红色和加粗显示关键字、词显示结果数、搜索用时、页数、页码链接、上下页:及时显示直接查询或在结果 中再查的准确结果数量、即时查询的用时、总页数,并以当前页为中心显示前后 5页的页码链接及智能显示上一页、下一页链接显示标题、关键字上下文、链接:显示查询结果的标题、以关键词为中心的上下文及精确定位后的URL链接在结果中打开站内文件突出显示关键字:通过URL链接打开站内html/htm

3、/txt文件后用红色和加粗显示关键字、词2. 索引源站内目录本地站内目录(能用 http:/localhost:port/* 访问的包含 html/htm/txt/pdf/MSOffice 文件资源的目录)安装在同一服务器的其他 Web资源目录(如IIS资源)URL 资源URL地址存放在SqlServer数据库的URL资源,根据表中的记录对 URL资源进行索引,并取回标题、责任者和成文日期字段智能区分特定的单表记录或复表记录资源3. 文件类型能索引 html/htm/txt/pdf/MSOffice 类型的文档、架构设计用户界面查询索引查询首页:in dex.html 显示查询结果:Searc

4、h 显示一个文件:Show系统环境环境初始化文件:in dex. ini 环境构造器:Co nfJndex.ini 编辑:SaveConf 丿管理员登录:logi n.html 系统配置:Co nfig数据库资源配置:res/HtokSearch4Lucene-cn.iar关键字分析器检索引擎结果内容分析器索引引擎返回结果数组1 丿i LWebEasy XML 弓 I擎URL数据库展示:res/HTML文本剥离器 文本索引接口FileDocume nt JPDF文档分析引擎PDF 接口: LucenePDFDocumentPDF 分析引擎:PDFBox*.jar索引接口定时器:Htok In

5、dex接口: IndexURL 分析:IndexResURL 追加索引:AddIndexURLs斗WebEasy DB 引擎:/res、程序代码设计1系统环境环境初始化文件:index.ini位置在系统类目录search/WEB-INF/classes下的tools.search包中,为系统的正常运行提供基本环境变量,参数信息如下表参数名称参数值(参考)说明rootsc:/search/i nfos/22=/search/servlet/ Show/i nfos/22索引源中的站内目录,“=”号后的值表示打开该目录下的文件时用的 URL路径。多目录时用“,”号分开in dexPathc:/se

6、arch/i ndexpath索引库存放的目录timi ng11:00:00定时启动索引UserNameadmi n管理员用户名Password管理员密码urls/search=http:/local host/search/servlet/Show打开查找的URL资源时用“=”后面的路径替换前面的 路径,用于实现关键字着重显示环境构造器:Conf类从上面的index.ini文件中构造了基本环境变量对象,代码说明如下位置(仃)类型功能11 到 17语句定义基本环境变量19 到 58构造函数从index.ini文件中读取信息,并根据标志进行分析,把对应的值分别赋于变

7、 量,实现配置对象的构造60 到 119函数和方法通过JavaBean中常用的“ set方法和“ get”函数对变量进行读写121 到 161函数把对象中的变量值按格式写回index.ini文件index.ini编辑:SaveConf类扩展HttpServlet,响应管理员提交的基本环境配置信息,通过操作环境构造器实现配置信息存盘位置(仃)类型功能13 到 14语句判断管理员是否登录16 到 17语句取环境构造器(调用Conf)和HTTP参数18 到 66语句循环分析参数,把结果赋于 环境构造器 中的对应变量67 到 72语句保存到index.ini文件2、查询查询首页:index.html为

8、系统查询首页,提供查询表单显示查询结果:Search类扩展HttpServlet,响应用户提交的查询关键字,进行查询并显示查询结果位置(仃)类型功能22 到 24语句显示查询表单25 到 26语句从HTTP取查询参数28 到 41语句判断是查询或显示分页,若是查询则调用HtokSearch执行。取回结果数组43 到 51语句判断是否为在结果查询,是则调用reSearch函数执行53 到 59语句显示查询结果统计信息,包括:关键字、结果数、用时、页码及在结果中 找”动作61 到 74语句显示10条以内查询结果,包括:标题、关键字上下文、URL位置76 到 78.语句显示分页信息及上下页链接86

9、到 127函数根据新的关键字对查询结果进行再分析,排除不需要的条目,返回分析后的 数组129 到 150函数智能实现分页显示,返回分页html字符串显示一个文件:Show类扩展HttpServlet,打开查询结果中的一条文档,实现着重显示位置(仃)类型功能14 到 18方法初始化WebEasy数据引擎32 到 50语句根据文档参数和用户名查询权限表,判断用户能否打开文档52 到 56语句调用HtokSearch的构造函数HtokSearch(String)取文档的相对和物理路径58 到 61语句判断文件类型,排出不能着重显示的文件67语句调用HtokSearch的函数splitAll(Stri

10、ng)智能分析参数,返回分割数组68 到 75语句实现关键字着重显示HtokSearch为查询核心类,调用 Lucene-cn.jar检索引擎实现查询,集成关键字分析器、内容分析器,返回精确的结果数组位置(仃)类型功能24 到 28构造函数调用WebEasy的ts工具取文件的物理路径30 到 54构造函数读index.ini文件,取索引目录(indexPath)、站内资源目录(roots)、URL 资源(urls)基本环境变量56 到 80函数关键字分析器:智能分割中英文字符串为最小单位,返回分割后的数组82 到 90函数关键字分析器:智能对中文单字符进行两两组词,返回组词后的数组129 到

11、153函数关键字分析器:智能对二分词、三分词、四分词以及中英文混和字符串作出 判断,根据情况调用上述分析器进行综合分析后返回数组92 到 127函数调用Lucene-cn.jar检索引擎实现查询,调用关键字分析器和内容分析器对 查询结果进行智能分析,返回精确的结果数组155 到 186函数内容分析器:根据关键字分析结果和检索引擎返回的内容进行分析,排出不 精确的记录,返回关键字上下文摘要188 到 195函数内容分析器:用url路径替换空标题,并返回着重关键字的标题197 到 211函数内容分析器:用着重url路径替换url资源路径或站内目录,返回替换后的url3、索引管理员登录:login.

12、html,显示管理员输入用户名和密码框表单,提交到Login , Login检查用户名和密码,通过后转到 Co nfig系统配置:Config类扩展HttpServlet,实现对index.ini文件的修改位置(仃)类型功能22 到 25语句显示配置页标题和数据库管理链接26 到 27语句检查用户权限28 到 29语句调用Conf构造环境对象31 到 40语句显示站内目录资源编辑框42 到 45语句显示索引库存放目录、定时器、用户名及密码编辑框47 到 59语句显示URL资源信息编辑框数据库资源配置:res/目录下存放的URL资源配置数据库的详细信息文件resDb.xml文件名称类型功能res

13、Db.xmlXml根节点存放数据库的访冋信息:数据库名、中文名、驱动类名、链接字符 串、用户名、密码,二级节点为任务名称和表名,以及可选的子表名、关联 字段、指针字段,三级节点为字段信息WebEasy XML资源引擎URL数据库展示:res/,集成 WebEasy XML资源引擎,实现对站内 XML资源的读写,展示并编辑存放 URL资源的数据库信息文件名称类型功能ResAdmi n.xmlxmlURL资源数据库管理主页,左边显示库结构树,右边显示对应节点信息,并在左边显示库树节点resTabDiv.xmlxml显示任务表树节点resFieldDiv.xmlxml显示字段表树节点resDbNod

14、e.xmlxml显示并编辑库节点信息:数据库名、数据库中文名、驱动类名、链接字 符串、用户名、密码resTableNode.xmlxml显示并编辑任务表节点信息:任务名称、表名,右包含子表时显示子表 名、主子表的关联字段、子表中的指针字段resFieldNode.xmlxml显示并编辑字段节点信息:字段名称、字段中文名、字段类型addTable.xmlxml显示添加任务表单,信息与任务表节点信息相冋addField.xmlxml显示添加字段表单,信息与字段节点信息相同索引接口定时器:HtokIndex类实现定时索引位置(仃)类型功能19 到 22构造函数构造定时器,启动线程24 到 29L函数

15、调用Conf取出定时变量timing ,转换为hh返回31 到 65方法运行定时线程,周期性检查定时,达到条件时调用Index实现增量索引67 到 71方法从控制台执行定时器接口: In dex位置(仃)类型功能16 到 42方法调用Conf取出基本环境变量中的索引参数,根据参数调用IndexFiles头现站内目录的全额索引44 到 71方法调用Conf取出基本环境变量中的索引参数,根据参数调用AddIndexFiles实现站内目录的增量索引,然后调用IndexRes实现URL资源的增量索引73 到 79方法从控制台执仃站内目录全额索引目录分析/文件类型识别追加索引:AddIndexFiles

16、类实现目录分析、文件类型识别和索引引擎 调用位置(仃)类型功能22 到 25变量定义内部全局的对象变量,可以在每个方法中使用74 到 106方法根据上一级的调用参数调用Lucene-cn.jar索引引擎 中的IndexWriter,为全局变量构造对象,调用Indexdocs(File,String)方法108 到 127方法调用 Lucene-cn.jar索引引擎中的IndexReader,取出所有索引库的 uid, 调用 indexDocs(File)方法130 到 172方法分析资源目录,递归调用自己。根据索引库的uid排除已索引文档,调用addDocument(File)方法分析未索引文

17、档174 到 213方法根据扩展名识别文档类型, html/htm/txt调用FileDocument分析,PDF调用 LucenePDFDocument 分析,MSOffice 调用 LuceneMSOffice 实现向 html 转 换。调用Lucene-cn.jar索引引擎中的IndexWriter对分析结果实现索引全额索引:indexFiles类基本结构和功能类似于AddIndexFilesMSOffice文档转换引擎转换接口: LuceneMSOffice类调用OpenOffice服务实现 MSOffice文档向HTML文档转换位置(行)类型功能11 到 25函数判断本文件是否已转换

18、,未转换则调用OpenOffice服务实现转换,然后调用HTML文本剥离器(FileDocument)分析转换后的文档,返回索引文档000 服务器:localhost:8100,安装 OpenOffice,并在系统环境变量Path中添加 OpenOffice程序目录,启 动 Ope nOffice 服务提供 MSOffice 文档向 HTML 文档转换服务:在启动组中加上soffice - accept=socket,host=,port=8100;urp;StarOffice.ServiceManager项PDF文档分析引擎PDF 接口: LucenePDFDocument

19、 类为 PDFBox-0.6.6.jar PDF 分析引擎入口,调用 PDFBox-0.6.6.jar PDF 分析引擎进行文本提取,然后调用Lucene-cn.jar索引引擎把PDF文件的文本进行索引PDF分析引擎:PDFBox-0.6.6.jar,对PDF文件进行格式和编码分析,提出其中的文本内容。原包对中文字符支持不好,经改动包内的PDFStreamEngine.java 文件中 158 行为:TextPosition textposition = newTextPosition(f, f1, f2, new String(abyteO), currentFont, f3, f4, f5

20、, f6);就能完全支持中文URL 分析:IndexRes位置(仃)类型功能14语句根据res/resDb.xml资源构造 WebEasy DB引擎对象15 到 45语句遍历任务表,调用 WebEasy DB引擎查询URL资源数据库,根据返回资源 数组调用 AddIndexURLs实现URL资源索引19 到 42语句根据res/resDb.xml资源智能生成查询语句43 到 44语句用数据库查询结果数组调用Add In dexURLs实现索引WebEasy DB弓I擎:以res/resDb.xml中的信息为配置参数,实现对数据库的咼效访冋URL追加索引:AddlndexURLs类基本结构和功能

21、类似于AddlndexFilesHTML文本剥离器、文本索引接口FileDocument类对html/htm/txt文件或url进文本剥离,并调用 Lucene-cn.jar索引引擎 实现索引位置(仃)类型功能21 到 26函数索引无标题等参数的文档27 到 61函数调用Lucene-cn.jar索引引擎 的文本索引接口 ,构造索引文档对象,赋于 站内文件信息,再调用 filterFile(String)函数,剥离文本,赋于文档对象后返 回文档对象63 到 112函数调用Lucene-cn.jar索引引擎 的文本索引接口 ,构造索引文档对象,赋于 URL资源文件信息,再调用 filterHtm

22、l(String)函数,剥离文本,赋于文档对 象后返回文档对象114 到 134函数按行从文件中读出字符串,再调用filterHtml(String)函数,剥离文本,返回剥离后的文本字符串136 到 263函数根据文件名和文本内容分析文本,过滤掉HTML标签,返回文本字符串265 到 310两个函数停止使用四、search资源列表包名来源用途修改否PDFBox-0.6.6.jarsourceforge .net对PDF文件进行格式和编 码分析,提出其中的文本 内容原包对中文字符支持不好,经改动包内 的 PDFStreamEngine.java 文件中 158 行 为:TextPosition

23、textposition = new TextPosition(f, f1, f2, new String(abyteO),currentFont, f3, f4, f5, f6);就能完全支持 中文luce ne-c n.jarA是一个用Java与的全文索 引引擎工具包,它可以方 便的嵌入到各种应用中实 现针对应用的全文索引/检 索功能msutil.jar msbase.jar mssqlserver.jarMMicrosoft SQL Server 2000 JDBC驱动程序连接到 SQL Server 2000officebea n.jar ht

24、mlsoff.jar classes.jarOpe nO 用Java实现MSOffice 文档转换成html文件ecs-1.4.2.jarA完全圭寸装html以上资源全部合并为下列三个包.n et.jar .jar 以上所有功能五、安装和配置1、 安装 j2sdk1.4.1_02 或更高版本默认安装到 C:j2sdk1.4.1_02 目录建立环境变量 JAVA_HOME= C:j2sdk1.4.1_02在环境变量 Path 中加上 %JAVA_HOME%bin建立环境变量 CLASSPATH=.2、安装 OpenOffice 1.1.3 或更高版本(下载地址: www.OpenO )安装到 C:OpenO1.1.3建立环境变量 OOO= C:OpenO1.1.3program在环境变量 Path 中加上 %OOO%在 Windows 程序启动组中添加 soffice -accept=socket,host=,port=8100;urp;StarOffice.ServiceManager 项3、安装 jakarta-tomcat-4.1.18安装到

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论