拟研究的主要内容和思路 本系统采用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.
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库.net小型搜索引擎系统开题报告 - 图文(2)在线全文阅读。
相关推荐: