邮箱索引建立方法及系统、邮箱搜索方法及系统的制作方法.docx
7页邮箱索引建立方法及系统、邮箱搜索方法及系统的制作方法专利名称:邮箱索引建立方法及系统、邮箱搜索方法及系统的制作方法技术领域:本发明涉及数据库技术领域,特别是涉及邮箱索引建立方法及系统、邮箱搜索方法及系统背景技术:随着计算机技术的发展,超大规模、永不删信的电子邮箱也应运而生,邮箱全文搜索的需求也越来越迫切全文搜索又叫全文检索,通过在OUTLOOK中对文字内容建立倒排索引,以支持快速检索需求的一种技术邮箱搜索系统使用一般使用JAVA MAIL库解析信件内容,使用LUCENE库建立索引,提供搜索服务,并使用IKAnalyzer分词器进行分词,以及使用NETTY包处理网络连接及读写相关的工作现有的邮箱索引建立方法主要包括以下步骤当用户的新邮件到达,或者用户修改邮件属性的时候,可以通过调度器获得用户所在的服务节点,并将消息发送到该服务节点的任务队列,而服务节点的建索引进程读取自己的任务队列,根据消息到相应的接口中取得邮件的内容,从而可以对邮件进行分词以便建立索引但是发明人在研究过程中发现,在邮箱全文搜索上线后,现有技术会导致存储服务器磁盘输入和输出(IO)负载很高,也会导致建立索引的队列很高,甚至达到上百万,就会使得建立索引的效率较低;进一步的,用户在搜索邮件时,由于系统的性能问题也会导致查询结果不准确。
发明内容本发明所要解决的技术问题是,提供一种邮箱索引建立方法及系统、邮箱搜索方法及系统,以解决现有技术中建立索引的效率较低的问题,以及进一步的解决用户搜索邮件的搜索结果不准确的问题为解决上述技术问题,本发明实施例提供了一种邮箱索引建立方法,该方法包括实时检测当前用户是否在使用邮箱的界面上选择邮箱全文搜索功能;如果是,则获取所述当前用户的邮箱信息,所述邮箱信息包括邮箱的存储位置信息、邮箱账户名信息及邮箱内容;将所述邮箱信息发送至所述当前用户所在的当前节点服务器,由所述当前节点服务器依据所述邮箱信息建立所述当前用户的邮箱索引优选的,在所述当前节点服务器依据所述邮箱信息建立所述当前用户的邮箱索引之前,还包括所述当前节点服务器判断所述当前用户是否为有效用户,如果是,则执行所述当前节点服务器依据所述邮箱信息建立所述当前用户的邮箱索引的步骤优选的,所述方法还包括将所有选择邮箱全文搜索功能的用户的用户信息保存至缓存服务器中的用户列表中;则相应的,所述当前节点服务器判断所述当前用户是否为有效用户具体为所述当前节点服务器判断所述当前用户的用户信息是否保存在所述缓存服务器中的用户列表里优选的,在所述当前节点服务器依据所述邮箱信息建立所述当前用户的邮箱索引之后,所述方法还包括检测所述当前用户是否对邮箱系统中的邮件进行了更新;如果是,则将邮件更新信息发送至所述当前节点服务器,由所述当前节点服务器依据所述邮件更新信息对已经建立的邮箱索引进行更新。
优选的,所述方法还包括 将所述当前用户的邮箱信息保存至邮箱系统数据库中;则相应的,所述获取选择邮箱全文搜索功能的用户的邮箱信息具体为通过所述邮箱系统数据库的代理接口从邮箱系统数据库中读取所述当前用户的邮箱信息一种邮箱搜索方法,采用上述邮箱索引建立方法建立邮箱索引;该搜索方法包括获取查询用户输入的搜索关键词及所述查询用户所在的待查询节点服务器;所述查询用户为已开启邮箱全文搜索功能的注册用户;在所述待查询节点服务器上查找与所述搜索关键词匹配的邮箱索引;将查找到的邮箱索引所对应的邮件展示给所述查询用户一种邮箱索引建立系统,包括邮箱前端机,用于实时检测当前用户是否在使用邮箱的界面上选择邮箱全文搜索功能;索引重建服务器,用于在当前用户选择邮箱全文搜索功能的情况下,获取所述当前用户的邮箱信息,所述邮箱信息包括邮箱的存储位置信息、邮箱账户名信息及邮箱内容;所述当前用户所在的当前节点服务器,所述当前节点服务器包括索引建立模块,所述索引建立模块用于依据所述邮箱信息建立所述当前用户的邮箱索引优选的,所述当前节点服务器还包括判断模块,用于判断所述当前用户是否为有效用户;触发模块,用于在所述判断模块的结果为是的情况下,触发所述索引建立模块。
优选的,所述索引建立系统还包括缓存服务器,所述缓存服务器中的用户列表用于保存所有选择邮箱全文搜索功能的用户的用户信息;则所述判断模块具体用于判断所述当前用户的用户信息是否保存在所述缓存服务器中的用户列表里优选的,所述索引建立系统还包括代理服务器,所述代理服务器包括检测模块和发送模块,所述检测模块用于检测所述缓存服务器的用户列表中的用户是否对邮箱系统中的邮件进行了更新;所述发送模块用于,在所述检测模块的结果为是的情况下,将邮件更新信息发送至更新用户所在的节点服务器,以便所述更新用户所在的节点服务器依据所述邮件更新信息对已经建立的邮箱索弓I进行更新优选的,所述索引建立系统还包括邮箱系统数据库,用于保存所有选择邮箱全文搜索功能的用户的邮箱信息;则相应的,所述索引重建服务器具体用于通过所述邮箱系统数据库的代理接口从邮箱系统数据库中读取所述当前用户的邮箱信息一种邮箱搜索系统,包括前述的邮箱索引建立系统;其中,所述邮箱前端机还包括获取模块,用于获取查询用户输入的搜索关键词及所述查询用户所在的待查询节点服务器;所述查询用户为已开启邮箱全文搜索功能的注册用户;查找模块,用于在所述待查询节点服务器上查找与所述搜索关键词匹配的邮箱索弓I ;展示模块,用于将查找到的邮箱索引所对应的邮件展示给所述查询用户。
从上述的技术方案可以看出,本发明实施例中公开的邮箱索引建立方法,通过在邮箱前端机上添加一个是否开启邮箱全文搜索功能的设置项,可以只对开启邮箱全文搜索功能的用户进行索引建立,这就会明显降低不必要的索引建立,从而有效地降低建立索引的队列,进而提高建立索引的效率进一步的,基于上述建立索引的方法建立的索引进行邮件查询时,也能够因为系统性能的整体提升而提高搜索结果的准确度为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图图I为本发明邮箱索引建立方法实施例I的流程图;图2为本发明邮箱索引建立方法实施例2的流程图;图3为本发明邮箱索引建立方法实施例3的流程图;图4为本发明邮箱搜索方法实施例的流程图;图5为本发明邮箱索引建立系统实施例I的结构示意图;图6为本发明邮箱索引建立系统实施例2的结构示意图;图7为本发明邮箱索引建立系统实施例3的结构示意图;图8为本发明邮箱搜索系统实施例的结构示意图具体实施例方式为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。
基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围参见图1,示出了本发明的一种邮箱索引建立方法实施例I的流程图,本实施例可以包括以下步骤步骤101 :实时检测当前用户是否在使用邮箱的界面上选择邮箱全文搜索功能,如果是,则进入步骤102本发明实施例在实施时,需要在邮箱前端机增加开启和关闭邮箱全文搜索功能的开关,该开关可以采用多种方式实现,比如按钮或者下拉菜 单等方式,这样的话,如果用户在其使用邮箱的界面(例如网页邮箱或者Outlook等)上选择打开邮箱全文搜索功能,就说明该用户后续在查询邮件的时候,需要向其提供全文搜索的邮件查询结果,而如果用户在其使用邮箱的界面上没有选择打开邮箱全文搜索功能,则后续用户查询邮件时可以只在收件箱、发件箱和草稿箱等邮件的主题中检索,不会检索邮件正文的内容本步骤在具体实施时可以由邮箱前端机来执行,邮箱前端机实时检测当前用户是否在使用邮箱的界面上选择邮箱全文搜索功能,即是选择用户是否在其使用邮箱的界面上点击相应的按钮或者选中相应的菜单选项步骤102 :获取所述当前用户的邮箱信息,所述邮箱信息包括邮箱的存储位置信息、邮箱账户名信息及邮箱内容。
在检测到当前用户在使用邮箱的界面上选择邮箱全文搜索功能之后,则获取该当前用户的邮箱信息,邮箱信息包括邮箱的存储位置信息,邮箱账户名信息以及邮箱的正文内容,邮箱的存储位置信息即是某个邮箱在邮箱系统的数据库中的哪个位置进行存储,而账户名信息则是用户注册邮箱时的用户名信息,例如zhanRsanisina. com进一步的,邮箱信息还可以包括邮箱的时间信息,例如收件箱中的邮件的接收时间,或者发件箱中的邮件的发送时间等,邮箱信息还可以包括收件箱中的邮件的发件人信息、邮箱标题信息、邮件的附件信息,或者草稿箱中的邮件的保存时间信息、发件人信息等,或者邮件信息还可以包括发件箱中的收件人信息邮件标题信息等,本步骤中的邮箱信息可以是与某一封邮件有关的所有的信息本步骤在具体实施时,可以由专门的索引重建服务器来实施步骤103 :将所述邮箱信息发送至所述当前用户所在的当前节点服务器,由所述当前节点服务器依据所述邮箱信息建立所述当前用户的邮箱索引在本步骤中索引重建服务器再将邮箱信息发送至该当前用户所在的当前节点服务器上,由当前节点服务器依据邮箱信息建立该当前用户的邮箱索引具体的,当前节点服务器在建立索引时,需要将邮箱信息中的内容进行分词,例如IKAnalyzer工具进行分词,IKAnalyzer工具是一个开源的基于java语言开发的轻量级的中文分词工具包,最终将邮箱信息中的内容全部进行分词之后,对于一个用户,将其邮箱中的所有的邮件进行分词所得到的关键词集合进行保存,并将该关键词集合与该当前用户进行关联即可得到该当前用户的邮箱索引,以便后续该当前用户查询邮件时在其邮箱索引中的关键词集合中进行查询。
在本步骤中建立的邮箱索引可以以一个关键词对应一个或多个邮件的方式进行保存,例如{关键词娱乐,邮件邮件I、邮件2......邮件n},其中n为自然数,该索引就标识共有n邮件包括关键词“娱乐”,那么当后续用户输入“娱乐”查询邮件的时候,就会检索到该条邮箱索引,并且检索到的邮件即是邮件I、邮件2......邮件n在实施例中,节点服务器在建立索引时,不再是对所有用户都进行邮箱索引的建立,而只对步骤101中选择邮箱全文搜索功能的用户才会进行索引建立,这样的话,就减少了建立在邮箱全文搜索功能中没有选择邮箱全文搜索功能的用户的邮箱索引的过程,与现有技术相比,就可以节省建立不必要的索引的时间,从而也能够提高建立索引的效率参见图2,示出了本发明的一种邮箱索引建立方法实施例2的流程图,本实施例可以包括以下步骤步骤201 :实时检测当前用户是否在使用邮箱的界面上选择邮箱全文搜索功能,如果是,则进入步骤102在本发明实施例中,如果用户没有在使用邮箱的界面上选择邮箱全文搜索功能,则不会触发本发明实施例公开的邮箱索引建立方法的流程 步骤202 :获取所述当前用户的邮箱信息,所述邮箱信息包括邮箱的存储位置信息、邮箱账户名信息及邮箱内容。
步骤203 :将所述邮箱信息发送至所述当前用户所在的当前节点服务器在本实施例中,步骤201 203与实施例I相同,在此不再赘述步骤204 :所述当前节点服务器判断所述当前用户是否为有效用户,如果是,则进入步骤205本实施例与实施例I不同之处在于,在将所述邮箱信息发送至所述当前用户所在的当前节点服务器之后,当前节点判断当前用户是否为有效用户,即是判断该当前用户是否是已经选择邮箱全文搜索功能的用户,并在当前用户为有效用户的情况下,再执行步骤205,这样就进一步保证了建立邮箱索引的用户一定都是已经选择邮箱全文搜索功能的用户,进一步可以保证索引建立的效率可以理解的是,在本步骤中,如果用户不是有效用户,则终止当前的邮箱索引建立流程步骤205 :由所述当前节点服务器依据所述邮箱信息建立所述当前用户的邮箱索引在步骤205之后,本实施。





