.net小型搜索引擎系统开题报告 - 图文(2)

2019-03-28 22:10

拟研究的主要内容和思路 本系统采用B/S架构,编程语言为C#,所用技术为 .Net平台下的ASP.NET、Silverlight,后台数据库为SQL Sever2005。从软件设计上采用三层结构,通常意义上的三层结构就是将整个业务应用划分为:表现层、业务逻辑层、数据访问层。区分层次的目的是为了实现“高内聚,低耦合”。为了展现知识结构的动态网络,本系统还建立了SilverLight应用程序层。另外 本系统为了保证用户能够高效、准确地搜索到需要的信息,将适用于.Net平台的Lucene.Net全文检索技术和SQL Server索引技术相结合,构建了一个新型的搜索引擎模块。 搜索引擎模块采用多条件检索,知识信息的标题、条目、编辑人、内容都作为检索条件存在。标题、条目、编辑人是作为较短的信息存储在数据库中;而用户编辑的内容则作为一段很长的信息对象存储在数据库中。为了达到比较高效的检索效果,本模块对不同检索条件使用不同的检索技术。 对于标题、条目、编辑人检索条件,通过建立SQL Server数据库的聚集和非聚集索引来实现对它们的快速查找。标题的ID作为主键聚集索引,而编辑人ID作为连接知识表和编辑人表的外键,设定为非聚集索引,条目ID作为条目表的主键聚集索引。这样在建立好索引后,利用查询语句“like%keyword%”对数据库进行查询,效率能够提高50%左右。 对于用户编辑的内容,本文利用Lucene.Net技术,实现全文检索。Lucene.Net是基于Java的全文索引工具包Lucene的.Net移植版本。Lucene不是一个完整的全文检索引擎,而是一个全文检索引擎的架构,提供了完整的查询引擎和索引引擎及部分文本分析引擎。Lucene的目的是为软件开发人员提供一个简单易用的工具包,以便在目标系统中实现全文检索的功能,或者以此为基础建立起完整的全文检索引擎 (1) 知识点信息资源模块 此模块收集信息,对信息进行科学的整理、分类、存储,将存储在数据库中的信息层次化地展现在客户端页面。 (2) 知识点网络模块 此模块在收集信息资源时,建立信息之间的父子或兄弟关系,并将这种关系存储在数据库中,逐步构建知识的网络结构,为用户提供清晰、立体的知识表现形式。 (3) 系统搜索引擎模块 利用SQL Server自有的索引功能及Lucene.Net全文检索技术,建立高效的检索系统,通过识别用户输入的检索词,系统地进行模糊或精确查询,找到符合用户要求的相关内容,并进行排序显示。 (4) 问答专区模块 此模块实现用户提问、回答、交流的功能,增加了用户间的有效沟通,并使系统的设计更加人性化。 (5) 新闻通知模块 此模块用于管理系统新闻和通知,能够实时地将系统动态显示给用户。 (6) 用户管理模块 此模块用于对用户的基本信息、权限及知识信息的相关操作进行管理。 研究的创新点及重、难点 一般来说网络结构是由N个复杂的树形结构组成,其形状表现为二维或三维网络。而为了构建一个立体的知识网络,对各知识点之间的关系设定、树形结构存储、遍历、节点路径等问题的处理显得非常重要。此模块主要负责两个问题:一是为用户提供清晰、立体的知识网络;二是为用户提供一个寻找节点间路径的方法。 Lucene.Net的工作流程如下: (1) 由于是为数据库中的内容建立全文索引,所以建立与数据库的连接。 (2) 利用IndexWriter创建索引;IndexWriter是Lucene.Net的索引器,其主要作用是对索引进行创建,加入Document。其构造函数IndexWriter(Directory d、 Analyzer a、bool create)中的参数分别代表索引路径,使用哪种分词类,是否重建索引[5]。 (3) 将需要检索的数据(本文为数据表中的字段信息)转换为Document的Field对象,然后将Document添加到索引文件中; (4) 搜索:利用QueryParser类对查询字符串的解析,将查询关键词转换为搜索用的Query;使用IndexSearcher进行检索;在本系统中用到的是Lucene.Net的多字段检索及多索引目录搜索,多索引目录搜索就是要在多个索引目录中进行比较搜索,类似概念在SQL中就是select * from TableA union select * from TableB。用到的检索语句为: IndexSearcher[] searchers=new IndexSearcher[2]; searchers[0]=new IndexSearcher(IndexPath0); searchers[1]=new IndexSearcher(IndexPath1); MultiSearcher multisearcher=new MultiSearcher(searchers); (5) 检索结果的显示:Hits类取得查询得到的内容。 研究进程安排 在我们研究的搜索引擎模块中,对于全文检索的实现,使用了Lucene.Net技术,将Sql的模糊检索改进为Lucene下多条件字段和多索引目录的全文检索,并将Lucene.Net的全文检索技术与SQL Server的索引技术相结合,构建了一个新型的搜索引擎模块,大大提高了检索效率和检索的精确度。 首先是将相应的规则通过.net语言存进数据库系统中,然后通过Lucene.Net技术实现对信息的检索。

主要参考文献 [1] WELSH E T, WANBERG C R, BROWN K G. et al. Elearning: emerging uses, empirical results and future directions[J].International Journal of Training and Development, 2003, 7(4):245-258. [2] 谭文堂,贺明科,李 阜.基于Lucene.Net的分布式全文检索系统[J].计算机应用与软件,2009, 26(9):142-145.


.net小型搜索引擎系统开题报告 - 图文(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:用单片机控制的电机交流调速系统设计毕业设计 精品

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: