基于本体和lucene的网络教育资源检索系统设计与实现_毕业设计论文(编辑修改稿)内容摘要:
基于本体和 Lucene 的网络教育资源检索系统主要用于研究在Lucene 全文检索系统中,如何利用本体中的概念和术语及其之间的关系进行推理,提高搜索的质量。 本系统分为数据库模块(实体模块, facade 模块), Lucene 模块(索引模块,搜索模块),本体模块, Web 模块(模型模块、 Servlet 模块、 ManagedBean模块)四个模块,实现用户的登录与注册、文档的管理和分类、文档的搜索,文档的索引、搜索关键字的智能提示等功能。 系统开发环境 开发与运行的环境的选择会影响到数据库设计,本系统开发与运行环境如下: 操作系统: Ubuntu Linux 开发工具: Eclipse 数据库管理系统: MySQL 服务器: Apache Tomcat 用 MySQL Workbench建立数据模型 ,然后用模型生成建表的 SQL代码,运行 SQL代码创建数据库模式和数据表 系统开发技术 本系统采用 Eclipse 为开发工具, Java 为编程语言, MySQL 为数据库后台处理,使整个系统具有 良好的可移植性 ,并且 可以更换数据库 (支持所有主流的数据库,如 MySQL、 PostgreSQL、 Oracle、 DB Sybase、 Microsoft SQL Server 等 )和 Servlet容器 (Apache Tomcat、 Glassfish、 JBoss、 Weblogic、 Websphere 等 )。 Eclipse 简介 Eclipse 是一个著名的跨平台的自由集成开发环境( IDE)。 最初主要用来 Java 语言开发,但是目前亦有人通过插件使其作为其他计算机语言比如 C++和 Python 的开发工具。 Eclipse 的本身只是一个框架平台,但是众多插件的支持使得 Eclipse 拥有其他功能相对固定的 IDE 软件很难具有的灵活性。 许多软件开发商以 Eclipse 为框架开发自己的 IDE。 湖南人文科技学院毕业设计 5 Java 简介 Java,是由 Sun Microsystems公司于 1995年 5月推出的 Java程序设计语言和 Java平台的总称。 Java 平台由 Java 虚拟机( Java Virtual Machine)和 Java 应用编程接口( Application Programming Interface、简称 API)构成。 Java 应用编程接口为 Java 应用提供了一个独立于操作系统的标准接口,可分为基本部分和扩展部分。 JSF 简介 Java Server Faces(JSF) 是一种标准的 J2EE 表示层的技术,其主旨是为了使 Java 开发人员能够快速的开发基于 Java 的 Web 应用程序。 它不同于其它 Java 表示层技术 的最大优势是其采用的组件模型,事件驱动,依赖注入。 Java Server Faces (JSF) 是一种用于构建 Web 应用程序的新标准 Java 框架。 它提供了一种以组件为中心来开发 Java Web 用户界面的方法,从而简化了开发。 Java Server Faces 的 MVC 实现 JSF 的主要优势之一就是它既是 Java Web 用户界面标准又是严格遵循模型 视图-控制器 (MVC) 设计模式的框架。 用户界面代码(视图)与应用程序数据和逻辑(模型)的清晰分离使 JSF 应用程序更易于管理。 为 了准备提供页面对应用程序数据访问的 JSF 上下文和防止对页面未授权或不正确的访问,所有与应用程序的用户交互均由一个前端 “Faces Servlet”(控制器)来处理。 JPA 简介 JPA 全称 Java Persistence API, JPA 通过注解或 XML描述对象-关系表的映射关系,并将运行期的实体对象持久化到数据库中。 JPA 是 J2EE 中的持久化标准规范,有很多种实现( Hibernate JPA、 EclipseLink 和 TopLink 等)。 MySQL简介 MySQL 是一个跨平台的 开源数据库。 “LAMP”中的 “M”指的就是 MySQL,它以其简单易用的特点广泛被广大用户采用, MySQL是 C/S架构的服务器,服务器端是多线程的,支持不同的后端、多个不同的客户程式和库、管理工具和广泛的应用程式接口 (apis),为客户端提供了不同的程序接口和链接库,如 C、 C++、 Java、 Perl、PHP、 Tcl 等,也提供了简单的管理工具,如 mysqladmin 等。 mysql 是个快速的、多线程、多用户和健壮的 sql 数据库服务器。 mysql 服务器支持关键任务、重负载生产系统的使用,也能够将他嵌入到一个大配置 (massdeployed)的软件中去。 可以使用命令行工具管理 MySQL 数据库,也可以从 MySQL 的网站下载图形管理工具 MySQL Administrator、 MySQL Query Browser 和 MySQL Workbench。 湖南人文科技学院毕业设计 6 第三章 可行性与需求分析 可行性分析 技术可行性 JSF 实现表现层,使用 ManagedBean 和其他 POJO 来处理业务逻辑, JPA 完成ORM 映射,再结合 Lucene 建立和搜索索引,使用 OWL API 分析本体,获得相关的概念或术语,提供搜索关键词提示, 并提供 语义扩展搜索, 因此在技术上是可行的。 社会可行性 网络教育资源的内容一般很丰富,难以准确地检索,传统的检索方式无法胜任,只有使用全文检索引擎和本体,才能提供比较准确的检索结果,因此本系统在社会上是可行的。 经济可行性 该系统是个低成本的系统,由一个人单独开发,不会花费太多的人力和财力,一台性能良好的计算机 和一系列开源免费的软件 就可以完成设计,在经济上是可行的。 系统目标 许多含有大量内容的网站都需要提供比较准确的搜索功能方便用户获得自己想要的信息,网络教育资源网站也不例外。 这也 是网络教育资源应用程序开发常用的功能模块。 学生作业管理系统是以 JSF、 JPA 和 POJO 为实现基础,以检索网络教育资源为目的,给出了系统架构为 B/S结构的网络教育资源检索系统,实现了一个全文检索系统和针对领域本体的语义搜索。 功能需求 对于登录用户,可以创建教学文档、删除教学文档、编辑教学文档、查看教学文档、搜索教学文档、对教学文档进行分类、创建分类、重命名分类、移动分类、嵌套分类、删除分类。 对于没有登录的用户,也可以搜索教学文档、查看教学文档。 UML用例图如图 31 所示。 湖南人文科技学院毕业设计 7 图 31 系统 UML 用例 图 系统主要分为 3 个方面的功能: ( 1)用户功能:包括 用户注册、登录。 ( 2)管理教学文档:包括创建文档、编辑文档、删除文档、移动文档到其他分类、创建分类、移动分类、删除分类、重命名分类和分类嵌套等,供已登录用户访问。 ( 3)检索教学文档:包括搜索关键字提示、搜索文档 、搜索词的语义扩展 ,供所有用户访问。 性能需求 系统具有良好的灵活性,可扩展性和可移植性,系统采用浏览器 /服务器模型。 在数据库方面,项目使用 JPA 完成 ORM 映射,使用 JPQL 和实体类操作数据库,避免了对某一种数据库的依赖,可以很方便的移 植到其他的数据库上去。 在表现层,使用 JSF 的 Facelets 模板技术用来创建可维护,可重用的 Web 页。 在业务层,使用ManagedBean 处 理 要 显 示 在 页 面 的 数 据 和 业 务 逻 辑 , 还 使 用ApplicationContextListener这个上下文监听器完成 WEB应用程序的初始化和关闭时的资源清理工作。 系统初始化时载入并解析本体数据,提高了关键字提示的速度。 系统把建立索引和删除索引的工作交给线程池,在后台完成,不影响用户体验。 系统的文档管理使用了 Ajax 技术根据用户需要动态载入数据(分类的树形结构和文档的 湖南人文科技学院毕业设计 8 分页), 减小了系统的开销,提高了用户体验。 系统的升级只涉及到服务端,只要服务端做出相应的修改升级,客户端自然会实现新的系统更新。 湖南人文科技学院毕业设计 9 第 四 章 系统概要设计 模块设计 系统功能层次图 该系统主要由以下功能模块组成,如图 41 所示: 图 41 系统功能层次图 湖南人文科技学院毕业设计 10 系统 UML包图 图 42 系统 UML 包图 数据库模块 数据库模块为 ,包含两个子模块:实体模块 ()和实体操作模块 ()。 湖南人文科技学院毕业设计 11 图 43 实体模块 UML 类图 实体模块负责 完成对象 关系映射 ,实现 Java 对象到数据库的持久化 , User 类表示用户, Category类表示分类, Doc 类表示文档。 湖南人文科技学院毕业设计 12 图 44 实体操作模块 UML 类图 实体操作模块封装了对实体的操作:插入、删除、更新、查询等 , AbstractFacade封装了操作实体的通用操作: find、 edit、 create、 refresh、 remove 和 count,其他的 Fa231。 ade类继承 AbstractFacade,增加 了 具体对于某一类实体的操作 , DocFacade 封装了对 Doc实体的操作, UserFacade封装了对 User实体的操作, CategoryFacade封装了对 Category实体的操作。 Web 模块 数据库模块所在的包为 ,包括 Servlet 模块 (),ManagedBean模块 ()和数据模型模块 ()。 湖南人文科技学院毕业设计 13 图 45 Servlet 模块 UML 类图 Servlet 模块 包含一个通用的应用程序上下文监听器 , 实现了使用 JPA 框架的 web应用程序 的初始化工作 (创建实体管理器工厂等 )和关闭工作 (关闭实体管理器工厂 和unregister 数据库驱动 ),提供了在系统 初始化和关闭时插入代码的的抽象方法 , 提供了对象映射、添加对象到对象映射和从对象映射中获取对象的方法, 还包含一个子类提供持久化单元的名称,定制系统初始化和关闭时的工作。 湖南人文科技学院毕业设计 14 图 46 数据模型模块 UML 类图 数据模型模块提供了托管 Bean 需要使用的一些数据模型,用于表示分类树和文档表 , CategoryTreeNode 表示分类树节点, DocumentTable 提供 CategoryTreeNode 对DocumentLazyDataModel 访问, DocumentLazyDataModel 是一个用于 Ajax分页表格的模型,能根据用户请求动态载入数据。 湖南人文科技学院毕业设计 15 图 47 ManagedBean 模块 UML 类图 ManagedBean模块 包含 JSF 页面需要使用的托管 Bean,通过配置 进行依赖注入, ManagedBeanConstructorUtil 也提供一系列静态方法获得其他托管Bean(Session Bean 和 Application Bean)的 引 用 和 request、 session 和 response 等,User。基于本体和lucene的网络教育资源检索系统设计与实现_毕业设计论文(编辑修改稿)
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。
用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。