《开题报告-SVN文件搜索引擎系统的设计与实现.docx》由会员分享,可在线阅读,更多相关《开题报告-SVN文件搜索引擎系统的设计与实现.docx(8页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、题目:SVN文件搜索引擎系统的设计与实现学院:软件学院专业:软件工程 学生姓名: XXX 学号:*项目概述:SVN是一款得到广泛应用的优秀的开源版本控制系统,能够极大的方便 公司对源代码的管控,但当SVN上的源代码文件/文档数量很多时,查找特 定的文档将变得非常困难,SVN本身自带的搜索功能很难满足用户快速、精 确的搜索需求。项目起源于想在SVN上进行资源共享平台的实现,还有公司SVN上面 文档代码文件很多,目前公司需要做一个SVN文件搜索引擎系统来方便大 家在上面搜索需要的内容。本论文要求学生完成对各大开源搜索框架的预研分析,完成基于合适 的框架的SVN文件搜索引擎系统的需求分析、系统设计等
2、,重点研究垂直 搜索在该系统的设计与应用;研究中文分词,歧义识别;研究权重排序优 化等重点问题,并提出解决思路,方案。设计方案:本SVN文件搜索引擎系统,主要解决用户搜索SVN的内容的需求,场 景有以下几个:1.用户想搜索之前上传的某个文档,文档的名称大概记得, 如:XXX系统需求分析文档,2.用户想搜索之前上传的某个项目相关的所有 文档,3.用户想搜索某些内容,如用户想搜索之前写过的某个函数等等。 由于目前大体需求明确,但是具体的需求没有明确,所以,该系统考虑采 用快速原型的软件过程模型。快速原型模型又称原型模型,它是增量模型 的另一种形式;它是在开发真实系统之前,构造一个原型,在该原型的基
3、 础上,逐渐完成整个系统的开发工作。本SVN文件搜索引擎系统采用快速 原型模型的开发步骤有如下五个步骤:1 .快速分析阶段:与公司分析人员和用户配合,迅速确定SVN文件搜 索引擎系统的基本需求,根据基本需求描述出系统所要体现的原型 特征。2 .构建原型阶段:在快速分析的基础上,根据基本需求(搜索SVN的 内容)说明尽快实现一个可行的系统(搭建好开发环境,构建整个 系统的大体框架,有基本搜索功能)。这里主要考虑原型系统能够充 分反映所要评价的特性,而暂时删除一切次要内容,忽略最终系统 在某些细节上的要求,如安全性、坚固性、例外处理等等。3 .运行原型阶段:运行原型,发现问题,消除误解,和用户充分
4、协调。4 .评价原型阶段:在运行的基础上,考核评价原型的特性,分析运行 效果是否满足用户的愿望,纠正过去交互中的误解与分析中的错误, 增添新的要求(新的SVN文件搜索需求,新的系统需求,如权限的 管理),并满足因环境变化或用户的新想法引起的系统要求变动,提 出全面的修改意见。5 .修改阶段:根据评价原型的活动结果进行修改。若原型未满足需求 说明的要求,说明对需求说明存在不一致的理解或实现方案不够合 理,则根据明确的要求迅速修改原型。采用追加策略,先构造功能简单而且质量要求不高的模型系统,作 为最终的核心,然后通过不断地扩充修改,逐步追加新的要求,最后 发展成为最终系统。本系统主要包含以下几个模
5、块:登录,搜索,数据处理,以及管理模 块。搜索模块包含垂直搜索,热门搜索,分库搜索和结果显示;垂直 搜索分词按文件类型和按文档属性(如需求分析文档,详细设计文档等),结果显示有分页,排序,排序则包含权重设置;数据处理模块有 索引和中文分词,索引有创建索引和优化索引,中文分词模块有歧义 识别;管理模块有用户管理和权限管理和日志管理。本SVN文件搜索引擎系统主要功能结构如下图:$一文件搜引擎系统登 M,搜索教擀处理索JI垂ft搜索热门网索分库网索中Z分词日志管理权限管理创建索引优化索引n义识别新增用户n改用户副除用户删除U志本系统基于Tomcat + Sol r框架实现,结构如下图:So I r是
6、一个基于Lucene的Java搜索引擎服务器。So I r提供了层面搜 索、命中醒目显示并且支持多种输出格式(包括XML/XSLT和JS0N格式)。 它易于安装和配置,而且附带了一个基于HTTP的管理界面。Solr已经在 众多大型的网站中使用,较为成熟和稳定。先安装tomcat,再在tomcat上 安装配置solr,服务器搭建完毕,前台使用JSP, so I r位于tomcat一层, 与前台JSP (或者使用其他技术也行)进行交互,与数据库进行交互。JSP本系统重点研究的问题有如下三点:1 .垂直搜索在SVN文件搜索引擎的应用显然,如果只是给用户做通用搜索,那用户找到自己想要的内容还 是很费劲
7、。垂直搜索特点是细分,精确,如何做到细分,精确,即范围缩小, 如何范围缩小,我们进行分类。细分精确 范围缩小】 分类垂直搜索是以结构化数据为最小单位。然后将这些数据存储到数据 库,进行进一步的加工处理,把SVN的文件按照文档类型(PDF,exceI, word, psd等),和文档属性(需求分析文档,详细设计文 档,UI效果图等)进行分类,去重,最后分词、索引再以搜索的方 式满足用户的需求。整个过程中,数据由非结构化数据抽取成结构 化数据,经过深度加工处理后以非结构化的方式和结构化的方式返 回给用户。让用户能够方便快速地找到自己需要精确信息。2 .中文分词,歧义识别中文分词的解决方案采用相对成
8、熟的开源中文分词框架(直接安装 配置就可以使用)再建立一个概率模型进行消歧,分词所依赖的词 库也是影响分词准确性的一个重要因素,因此寻找或者建立一个好 的词库也是优化方案。使用开源中文分词框架I KAna I yzer, IKAnalyzer是一个开源的,基 于java语言开发的轻量级的中文分词工具包。消歧的方式有:1) 比较有效文本长度2)比较词元个数,越少越好3)路径跨度越大 越好4)根据统计学结论,逆向切分概率高于正向切分,因此位置 越靠后的优先 5)词长越平均越好。这些都是人为定的规则,按 照统计方式进行消歧。我们还需要建立一个概率模型,基于此概率统计模型,进行消歧, 此概率模型来源于
9、我们SVN上文档内容的特殊性(都是些项目相关 的)。例如:大学生前来报到;有可能分成:大学,生前,来,报到; 显然这里的“生前”是不合适的,那么就要基于概率,把生前踢出 去,分成:大学生,前来,报到。3 .排序优化搜索后得到的结果需要进行排序,这样才能呈现给用户想要的东 西。在solr下自定义排序规则,我们设置权重来对排序进行优化, 设置权重参照如下规则:1) 点击率越高权重越高文本中出现次数越高权重越高2) 关键词密度(Keyword Dens i ty)越高权重越高出现在文本名权重高于出现在文本内容权重3) 出现在标题的权重大于出现在正文的权限要求学生完成对SVN文件搜索引擎的研究,设计与
10、实现,系统功能完 善,满足用户需求,解决重点研究问题,系统可拓展。主要参考文献:1王小正,侯青,基于Nutch和Solr的基础教育垂直搜索引擎的实现J 电脑知识与技术-2012年4期2周俊 郑中华 张炜,基于改进最大匹配算法的中文分词粗分方法J计算机工程与应用ISTIC PKU -2014年2期3张俊林,这就是搜索引擎:核心技术详解M电子工业出版社2012年1月1 日4李晓明,搜索引擎M科学出版社发行部 出版年:2005-45作者:ian H. Witten / Al istai r Moffat / Timothy C. Bell,深入搜索引 擎M电子工业出版社 出版年:20096王学松,L
11、ucene+nutch搜索引擎开发M人民邮电出版社 出版年:2008-87魏莎莎 熊海灵 中文分词中的歧义识别处理策略J微计算机信息出版年: -2010年30期魏莎莎熊海灵8曹勇刚 曹羽中 金茂忠 刘超面向信息检索的自适应中文分词系统J软件学 报ISTIC El PKU -2006 年 3 期9李超一种基于主题和分众分类的信息检索优化方法J情报理论与实践PKU CSSCI -2009 年 10 期毕业设计(论文)进度安排:序号毕业设计(论文)各阶段内容时间安排备注1研究搜索引擎相关框架,学习资料,整理资料2月24日3月9 日2毕业设计任务书和毕业设计开题报告3月9日3月16 日3项目代码的具体编写与优化3月15日5月16 日4毕业论文初稿5月17日5月24 日5毕业论文的修改,完善5月24日5月30 日6正式提交毕业论文,准备答辩5月31日6月5 日7毕业论文答辩6月5日6月10 日8指导教师意见:填写说明:查阅资料是否全面,提出的研究方案和计划进度是否可行,还有什么需 要注意和改进的方面,是否同意按学生提出的计划进行等。(填写后请删除该说明)指导教师(审核签名):审核日期: 年 月 日