全文检索系统技术体系说明.docx

上传人:小飞机 文档编号:5035790 上传时间:2023-05-31 格式:DOCX 页数:9 大小:160.83KB
返回 下载 相关 举报
全文检索系统技术体系说明.docx_第1页
第1页 / 共9页
全文检索系统技术体系说明.docx_第2页
第2页 / 共9页
全文检索系统技术体系说明.docx_第3页
第3页 / 共9页
全文检索系统技术体系说明.docx_第4页
第4页 / 共9页
全文检索系统技术体系说明.docx_第5页
第5页 / 共9页
亲,该文档总共9页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《全文检索系统技术体系说明.docx》由会员分享,可在线阅读,更多相关《全文检索系统技术体系说明.docx(9页珍藏版)》请在三一办公上搜索。

1、档案信息全文检索系统技术体系说明一、需求场景分析查询需求文件类型 .html/htm/txt/ pdf/MSOffice需求场景索引源1. 站内目录顼2. URL资源)功能:中文单字检索英文单词检索中文二分词、三分 词、四分词精确检索 支持在结果中查询1.2.3.显示突出显示查询关键字显示结果数、搜索用时、页数、页码链接、上下页显示标题、关键字上下文、链接.在结果中打开站内文件突出显示关键字1. 查询需求功能/中文单字检索:把汉字关键词分割为单字,以单字为最小检索单位,如您好分 为:您、好/英文单词检索:英文以单词为最小检索单位/中文二分词、三分词、四分词精确检索:对于两个、三个、四个汉字组成

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

3、、以关键词为中心的上下 文及精确定位后的URL链接/ 在结果中打开站内文件突出显示关键字:通过URL链接打开站内html/htm/txt文 件后用红色和加粗显示关键字、词2. 索引源站内目录 本地站内目录(能用 http:/localhost:port/*访问的包含 html/htm/txt/pdf/MSOffice 文件资源的目录) 安装在同一服务器的其他Web资源目录(如IIS资源)URL资源 URL地址存放在SqlServer数据库的URL资源,根据表中的记录对URL资源进 行索引,并取回标题、责任者和成文日期字段智能区分特定的单表记录或复表记录资源3. 文件类型 能索引 html/ht

4、m/txt/pdf/MSOffice 类型的文档二、架构设计WebEasy DB 引擎:/res三、程序代码设计1、系统环境环境初始化文件:index.ini位置在系统类目录search/WEB-INF/classes下的tools.search包中,为系统的正 常运行提供基本环境变量,参数信息如下表参数名称参数值(参考)说明rootsc:/search/infos/22=/search/servlet/Show/infos/22索引源中的站内目录,=”号后的值表示打开该目录 下的文件时用的URL路径。多目录时用“,”号分开indexPathc:/search/indexpath索引库存放的目

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

6、通过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为系统查询首页,提供查询表单显示查询结果:Search类

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

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

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

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

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

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

13、名、驱动类名、链接字 符串、用户名、密码resTableNode.xmlxml显示并编辑任务表节点信息:任务名称、表名,若包含子表时显示子表 名、主子表的关联字段、子表中的指针字段resFieldNode.xmlxml显示并编辑子段节点信息:字段名称、字段中文名、子段类型addTable.xmlxml显示添加任务表单,信息与任务表节点信息相同addField.xmlxml显示添加字段表单,信息与字段节点信息相同索引接口定时器:HtokIndex类实现定时索引位置(行)类型功能19 到 22构造函数构造定时器,启动线程24 到 29函数调用Conf取出定时变量timing,转换为hh返回31 到

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

15、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)方法分析未索引文档174 到 213方法根据扩展名识别文档类型,html/htm

16、/txt调用FileDocument分析,PDF调用 LucenePDFDocument 分析,MSOffice 调用 LuceneMSOffice 实现向 html 转 换。调用Lucene-cn.jar索引引擎中的IndexWriter对分析结果实现索引全额索引:indexFiles类基本结构和功能类似于AddIndexFilesMSOffice文档转换引擎转换接口: LuiceneMSOffice类调用OpenOffice服务实现MSOffice文档向HTML文档转换位置(行)类型功能11 到 25函数判断本文件是否已转换,未转换则调用OpenOffice服务实现转换,然后调用 HTML

17、文本剥离器(FileDocument)分析转换后的文档,返回索引文档OOO服务器:localhost:8100,安装OpenOffice,并在系统环境变量Path中添加OpenOffice程序目录, 启动OpenOffice服务提供 MSOffice文档向HTML文档转换服务:在启动组中加上soffice - accept=socket,host=127.0.0.1,port=8100;urp;StarOffice.ServiceManager顼PDF文档分析引擎PDF接口: LucenePDFDocument类为 PDFBox-0.6.6.jar PDF 分析引擎入口,调用 PDFBox-0

18、.6.6.jar PDF 分析引擎进行文本提取,然后调用Lucene-cn.jar索引引擎把pdf文件的文本进行索引PDF分析引擎:PDFBox-0.6.6.jar,对PDF文件进行格式和编码分析,提出其中的文本内容。原包对中文 字符支持不好,经改动包内的 PDFStreamEngine.java 文件中 158 行为:TextPosition textposition = new TextPosition(f, fl, f2, new String(abyte0), currentFont, f3, f4, f5, 6)就能完全支持中文URL 分析:IndexRes位置(行)类型功能14语句

19、根据res/resDb.xml资源构造WebEasy DB引擎对象15 到 45语句遍历任务表,调用WebEasy DB引擎查询URL资源数据库,根据返回资源 数组调用AddIndexURLs实现URL资源索引19 到 42语句根据res/resDb.xml资源智能生成查询语句43 到 44语句用数据库查询结果数组调用AddIndexURLs实现索引WebEasy DB引擎:以res/resDb.xml中的信息为配置参数,头现对数据库的高效访问URL追加索引:AddIndexURLs类基本结构和功能类似于AddIndexFilesHTML文本剥离器、文本索引接口FileDocument类对ht

20、ml/htm/txt文件或url进文本剥离,并调用Lucene-cn.jar索引引擎实现索引位置(行)类型功能21 到 26函数索引无标题等参数的文档27 到 61函数调用Lucene-cn.jar索引引擎的文本索引接口,构造索引文档对象,赋于 站内文件信息,再调用filterFile(String涵数,剥离文本,赋于文档对象后返 回文档对象63 到 112函数调用Lucene-cn.jar索引引擎的文本索引接口,构造索引文档对象,赋于 URL资源文件信息,再调用filterHtml(String)函数,剥离文本,赋于文档对 象后返回文档对象114 到 134函数按行从文件中读出字符串,再调用

21、filterHtml(String)函数,剥离文本,返回 剥离后的文本子符串136 到 263函数根据文件名和文本内容分析文本,过滤掉HTML标签,返回文本字符串265 到 310两个函数停止使用四、search资源列表包名来源用途修改否PDFBox-0.6.6.jar对PDF文件进行格式和编 码分析,提出其中的文本 内容原包对中文字符支持不好,经改动包内 的 PDFStreamEngine.java 文件中 158 行 为: TextPosition textposition = new TextPosition(f, f1, f2, new String(abyte0),currentFo

22、nt, f3, f4, f5, f6);就能完全支持 中文lucene-cn.jarApache.org是一个用Java与的全文索 引引擎工具包,它可以方 便的嵌入到各种应用中实 现针对应用的全文索引/检 索功能msutil.jar msbase.jar mssqlserver.jarMMicrosoft SQL Server 2000 JDBC驱动程序连 接到|SQL Server 2000officebean.jar htmlsoff.jar classes.jar .OpenOffice.org用Java实现MSOffice文档转换成html文件ecs-1.4.2.jarApache.o

23、rg完全封装html以上资源全部合并为下列三个包.net.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.OpenOffice.org) 安装到 C:OpenOffice.org1.1.3 建立环境变量 OOO= C:OpenOffice.org1.1.3program 在环境变量P

24、ath中加上%OOO% 在Windows程序启动组中添加soffice - accept=socket9host=1270.01,port=8100;urp;StarOffice.ServiceManager项3、安装 jakarta-tomcat-41.18 安装到 C:ApacheTomcat4.14、解压 search.rar 解压到C:search目录 建立环境变量 HTOK= C:searchWEB-INFlib 建立环境变量 TOM-LIB= C:ApacheTomcat4.1commonlib 修改环境变量 CLASSPATH= .;%HTOK%docbook.jar;%HTOK

25、%.jar;%HTOK%.net.jar; %TOM- LIB%servlet.jar 修改 Tomcat 的 C:ApacheTomcat4.1confserver.xml,在 270 行插入 修改 C:searchWEB-INFclasseshtok.properties,内容为rootdir=c:/ dir=search modules=res 修改 C:searchWEB-INFclassestoolssearchindex.ini,内容为(可根据实际场景修改)roots=c:/search/info=/search/servlet/Show/info indexPath=c:/sea

26、rch/indexpath timing=11:00:00 UserName=admin Password= urls=http:/127.0.0.1:8080/search=http:/ 127.0.0.1:8080/search/servlet/Show url2path=http:/ 127.0.0.1=c:/search/test5、重启计算机6、执行 C:searchWEB-INFclassesindexAll.bat (只需执行一次)7、执行 C:searchWEB-INFclassestimingIndex.bat (不要关闭)8、启动 Tomcat六、管理和使用地址1. 使用地址:http:/Zlocalhost:8080/search/2. 管理地址:http:/localhost:8080/login.html

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号