支持全文检索的邮件代理服务平台 ——多邮箱管理及Lucene在邮件搜索上的应用.doc
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《支持全文检索的邮件代理服务平台 ——多邮箱管理及Lucene在邮件搜索上的应用.doc》由会员分享,可在线阅读,更多相关《支持全文检索的邮件代理服务平台 ——多邮箱管理及Lucene在邮件搜索上的应用.doc(44页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、目 录摘要1ABSTRACT2第1章 引言31.1 课题背景31.2 国内外研究现状31.3 课题的目的和意义41.4 本章小结4第2章 相关技术及开发工具介绍52.1 J2EE简介52.2 Lucene62.3 开发环境及工具7第3章 系统总体设计83.1 总体设计框架83.2 系统根本功能83.3 数据库设计113.4 本章小结13第4章 局部系统模块详细设计与实现144.1 邮箱管理模块144.2 用户管理模块184.3 JMS应用194.4 本章小结22第5章 邮件检索模块详细设计与实现235.1 邮件的索引235.2 邮件的搜索275.3 搜索结果的高亮显示305.4 本章小结31第
2、6章 总结与展望326.1 系统总结326.2 系统实现局部效果图326.3 开展前景34谢辞35参考文献36附 录37支持全文检索的邮件代理效劳平台多邮箱管理及Lucene在邮件搜索上的应用摘要:本文阐述了设计与实现支持全文检索的邮件代理效劳平台的理论根底,设计思想,整体架构等。其中最主要的是应用了J2EE中的JavaMail、JMS、EJB3中的消息驱动Bean和Lucene。本文着重阐述了Lucene全文索引及检索技术在该系统中的应用,包括索引的建立,索引的修改,搜索,对搜索结果的高亮显示等。关键字:J2EE;JavaMail;消息驱动Bean;Lucene;全文检索Support Fu
3、ll-text Search Platform for E-mail Proxy ServiceManagement of Multiple Mailboxes and Application of Lucene in Mail SearchAbstract: This paper describes the design and implementation support for full-text indexing of e-mail proxy service platform based on the theory, design thinking, the overall stru
4、cture and so on. The most important is the use of J2EE in the JavaMail, JMS, EJB3 of Message-Driven Bean and Lucene.This article focuses on the Lucene full-text indexing and retrieval technology in the system, including the establishment of the index, index changes, and search on the highlighted sea
5、rch results display.Key words: J2EE; JavaMail; Message-Driven Bean; Lucene; Full-text Search第1章 引言 课题背景电子邮件是一种用电子手段提供信息交换的通信方式。是Internet应用最广的效劳:通过网络的电子邮件系统,用户可以用非常低廉的价格,以非常快速的方式,与世界上任何一个角落的网络用户联系,这些电子邮件可以是文字、图像、声音等各种方式。同时,用户可以得到大量免费的新闻、专题邮件,并实现轻松的信息搜索。这是任何传统的方式也无法相比的。正是由于电子邮件的使用简易、投递迅速、收费低廉,易于保存、全球畅
6、通无阻,使得电子邮件被广泛地应用,它使人们的交流方式得到了极大的改变。另外,电子邮件还可以进行一对多的邮件传递,同一邮件可以一次发送给许多人。最重要的是,电子邮件是整个网间网以至所有其他网络系统中直接面向人与人之间信息交流的系统,它的数据发送方和接收方都是人,所以极大地满足了大量存在的人与人通信的需求。当今社会是信息化的社会,人们并不仅仅满足于现有的电子邮件效劳,由于移动办公的需要,电子邮件效劳由单纯的客户端收发邮件开展到了Web邮件,但电子邮件的开展还未就此停止,现在的人群当中存在一大批人是拥有不止一个电子邮箱的,他们对电子邮件效劳又有了新的需求,此时电子邮件效劳就必须满足支持多个邮箱管理的
7、功能。 国内外研究现状电子邮件开展到现在,用户使用电子邮件效劳的方式有两种:一种是用户使用个人计算机上的客户端软件,比方Outlook,Foxmail等。Outlook是由美国微软公司(Microsoft)出品的免费软件,与Internet Explorer浏览器软件捆绑发行;Foxmail是由国人张小龙编写的一个功能强大非商业软件,它实现了真正的多用户、多账户、多POP3支持,自动进行拨号,能设置邮件过滤功能,能阅读和收发Big5码的邮件,可以直接查看HTML格式邮件。这两种客户端软件只要通过适当的配置后,就可以对邮件进行接收和发送,但单纯使用邮件客户端程序进行邮件的收发已经不能满足用户移动
8、办公的需要。另一种就是使用WebMail系统,将E-mail和Web结合在一起,即通过Web编程和适当的系统设置,使用户仅仅以访问Web的方式就可以得到和使用完整的邮件效劳的系统称为WebMail系统。WebMail是目前Internet上最受欢送和使用最多的效劳之一,也是很多网站必备功能之一。像网易、新浪等大型门户网站都提供了免费的WebMail效劳,并在其中参加了一些别的实用功能。如Google的GMail提供应邮箱用户网络硬盘,用户可以将一些电子资料存入网络硬盘中,并提供了全文检索的功能。现在许多WebMail系统在这些方面的改良越来越多,并在一定程度上满足了用户的要求,但仅此还是不够的
9、。 课题的目的和意义本课题意在设计并实现一种支持全文检索的邮件代理效劳平台,使用户进一步感受到电子邮件效劳给他们带来的方便与快捷。虽然现有的邮件效劳系统已经比拟完善,但对于多个邮箱的支持还是比拟少的,而且对多个邮箱中的文件进行统一管理的更少,因此有必要设计并实现一个支持多个邮箱收发邮件的系统。对于这种效劳系统,虽然现在在用户中使用地比拟少,而且专门提供类似效劳的系统也不多。但随着电子邮件的开展,相信在这方面的需求会越来越突出,而这种系统将会越来越得到用户的青睐。 本章小结本章主要介绍了支持全文检索的邮件代理效劳平台的研究背景、国内外的研究状况及本课题的目的和意义。第2章 相关技术及开发工具介绍
10、2.1 J2EE简介J2EE是一种利用Java 2平台来简化企业解决方案的开发、部署和管理相关的复杂问题的体系结构。J2EE技术的根底就是核心Java平台或Java 2平台的标准版,J2EE不仅稳固了标准版中的许多优点,例如“编写一次、随处运行的特性、方便存取数据库的JDBC API、CORBA技术以及能够在Internet应用中保护数据的平安模式等等,同时还提供了对EJB(Enterprise JavaBeans)、Java Servlet API、JSP(Java Server Pages)以及XML技术的全面支持。其最终目的就是成为一个能够使企业开发者大幅缩短投放市场时间的体系结构。J2
11、EE体系结构提供中间层集成框架用来满足无需太多费用而又需要高可用性、高可靠性以及可扩展性的应用的需求。通过提供统一的开发平台,J2EE降低了开发多层应用的费用和复杂性,同时提供对现有应用程序集成强有力支持,完全支持Enterprise JavaBeans,有良好的向导支持打包和部署应用,添加目录支持,增强了平安机制,提高了性能13。2 JavaMailJavaMail,顾名思义,提供应开发者处理电子邮件相关的编程接口。它是Sun发布的用来处理email的API。它可以方便地执行一些常用的邮件传输。我们可以基于JavaMail开发出类似于Microsoft Outlook的应用程序。虽然Java
12、Mail是Sun的API之一,但它目前还没有被加在标准的java开发工具包中(Java Development Kit),这就意味着你在使用前必须另外下载JavaMail文件。除此以外,你还需要有Sun的JavaBeans Activation Framework (JAF)。JavaBeans Activation Framework的运行很复杂,在这里简单的说就是JavaMail的运行必须得依赖于它的支持。在Windows 2000下使用需要指定这些文件的路径,在其它的操作系统上也类似。2. JMSJMS(Java Message Service,Java消息效劳)是一组Java应用接口,
13、它提供创立、发送、接收、读取消息的效劳。JMS API定义了一组公共的应用程序接口和相应语法,使得Java应用能够和各种消息中间件进行通信,这些消息中间件包括IBM MQ-Series、Microsoft MSMQ及纯Java的Sonic MQ。通过使用JMS API,开发人员无需掌握不同消息产品的使用方法,也可以使用统一的JMS API来操纵各种消息中间件。通过使用JMS,能够最大限度地提升消息应用的可移植性。JMS既支持点对点的消息通信,也支持发布/订阅式的消息通信。2 EJB3EJB是sun的效劳器端组件模型,最大的用处是部署分布式应用程序,类似微软的com技术。凭借java跨平台的优势
14、,用EJB技术部署的分布式系统可以不限于特定的平台。EJB(Enterprise Java Bean)是J2EE的一局部,定义了一个用于开发基于组件的企业多重应用程序的标准。其特点包括网络效劳支持和核心开发工具(SDK)。在J2EE里,Enterprise Java Beans(EJB)称为Java企业Bean,是Java的核心代码,分别是会话Bean(Session Bean),实体Bean(Entity Bean)和消息驱动Bean(MessageDriven Bean)。 Session Bean用于实现业务逻辑,它可以是有状态的,也可以是无状态的。每当客户端请求时,容器就会选择一个Se
15、ssion Bean来为客户端效劳。Session Bean可以直接访问数据库,但更多时候,它会通过Entity Bean实现数据访问。 Entity Bean是域模型对象,用于实现O/R映射,负责将数据库中的表记录映射为内存中的Entity对象,事实上,创立一个Entity Bean对象相当于新建一条记录,删除一个Entity Bean会同时从数据库中删除对应记录,修改一个Entity Bean时,容器会自动将Entity Bean的状态和数据库同步。 MessageDriven Bean是EJB2.0中引入的新的企业Bean,它基于JMS消息,只能接收客户端发送的JMS消息然后处理。MDB
16、实际上是一个异步的无状态 Session Bean,客户端调用MDB后无需等待,立刻返回,MDB将异步处理客户请求。这适合于需要异步处理请求的场合,比方订单处理,这样就能防止客户端长时间的等待一个方法调用直到返回结果。2.2 LuceneLucene是apache软件基金会jakarta工程组的一个子工程,是一个开放源代码的全文检索引擎工具包,即它不是一个完整的全文检索引擎,而是一个全文检索引擎的架构,提供了完整的查询引擎和索引引擎,局部文本分析引擎英文与德文两种西方语言。Lucene的目的是为软件开发人员提供一个简单易用的工具包,以方便的在目标系统中实现全文检索的功能,或者是以此为根底建立起
17、完整的全文检索引擎。Lucene作为一个全文检索引擎,其具有如下突出的优点: 索引文件格式独立于应用平台。Lucene定义了一套以8位字节为根底的索引文件格式,使得兼容系统或者不同平台的应用能够共享建立的索引文件。 在传统全文检索引擎的倒排索引的根底上,实现了分块索引,能够针对新的文件建立小文件索引,提升索引速度。然后通过与原有索引的合并,到达优化的目的。 优秀的面向对象的系统架构,使得对于Lucene扩展的学习难度降低,方便扩充新功能。 设计了独立于语言和文件格式的文本分析接口,索引器通过接受Token流完成索引文件的创立,用户扩展新的语言和文件格式,只需要实现文本分析的接口。 已经默认实现
18、了一套强大的查询引擎,用户无需自己编写代码即使系统可获得强大的查询能力,Lucene的查询实现中默认实现了布尔操作、模糊查询、分组查询等等9。2.3 开发环境及工具开发环境:Windows XP SP2开发工具:MyEclipse 部署环境:Sun Java System Application Server第3章 系统总体设计3.1 总体设计框架支持全文检索的邮件代理效劳平台主要是利用J2EE和Lucene来架构,涉及到J2EE中的JSP、Servlet、JavaMail、JMS、EJB3中的消息驱动Bean,以及Lucene中的索引、搜索和高亮等。该系统的整体框架如图3-1所示。图3-1
19、支持全文检索的邮件代理效劳平台整体框架3.2 系统根本功能支持全文检索的邮件代理效劳平台主要是为满足用户有多个邮箱,并且需要对多个邮箱进行统一管理,包括接收各个邮箱中的邮件,通过各个不同的邮箱来发送邮件等,因此在该系统中需要提供的功能有: 接收多个邮箱中的邮件; 通过不同的邮箱发送不同的邮件; 添加不同的邮箱; 可以对收件箱中的邮件进行全文检索; 对用户密码进行修改; 对已添加的邮箱进行修改。3 系统模块结构图根据系统所具有的根本功能得到该系统的功能模块结构示意图,如图3-2所示。支持全文检索的邮件代理效劳平台注册登录邮件管理邮件收发邮件检索邮箱管理用户管理注册登录查看邮件删除邮件发送邮件修改
20、邮箱删除邮箱修改密码索引邮件搜索邮件添加邮箱接收邮件图3-2 系统功能模块结构示意图3.2.2 各个模块功能概述该系统中包含的功能有:注册、登录、接收邮件、写邮件、邮件管理查看/删除/回复、已发邮件管理查看/删除/转发、邮箱管理添加/删除/修改、邮件的索引和邮件的搜索。各个功能模块分别介绍如下:1注册注册局部主要是为了使刚开始使用该系统的用户能有自己唯一的一个账户,并能在注册之后使用该系统。用户所提供的密码是经过DES加密后才存储的。2登录登录局部主要是为了验证用户所提供的用户名和密码的合法性,假设合法的话,那么提供应该用户相应的可靠效劳,否那么做非法用户处理,并且要求该用户注册或者是提示该用
21、户他所提供的用户名和密码是非法的,要求其重新登录。3接收邮件接收邮件局部主要是为了帮用户接收用户所提供的邮箱中的邮件,这是一个后台的效劳程序,用户自己是感觉不到什么时候接收到邮件的,但后台程序会定时地为每一个用户提供邮件接收的效劳。并且每个邮箱中的邮件是不会被重复接收的。4发送邮件发送邮件局部是给用户提供发送新邮件之用,这里可以支持不同的邮箱发送邮件,就是说虽然用户是在同一个地方写新邮件、发送邮件,但是该系统可以根据用户所提供的不同的发件人,让用户用他自己的不同邮箱来发送信件,而接收信件的人那么看到的也是不同的发件人。5邮件管理查看/删除/回复邮件管理局部主要是提供用户查看邮件、删除邮件和回复
22、邮件的功能。当用户接收到新邮件时,收到的新邮件都会重点提示用户这是一封新邮件,让用户很快就能看到是否有新的邮件。当有邮件时,用户可以查看邮件。查看的时候,如果用户想回复该邮件,那么点击“回复,系统就自动产生一封新的邮件,用户只需写好信的内容即可发送。当然,如果用户认为收件箱中的邮件已经没有利用价值,就可以删除邮件。6已发邮件管理查看/删除/转发已发邮件管理局部主要是为了用户方便管理已经发送的邮件和未发送成功的邮件。但凡用户发送过的邮件,不管是否发送成功,用户都可以在已发邮件中找到该邮件,并且可以删除和转发。7邮箱管理添加/删除/修改邮箱管理局部主要是让用户可以添加自己已有的所有邮箱,之后该系统
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 支持全文检索的邮件代理服务平台 多邮箱管理及Lucene在邮件搜索上的应用 支持 全文 检索 邮件 代理 服务 平台 邮箱 管理 Lucene 搜索 应用
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内