CN102799611B - 邮箱索引建立方法及***、邮箱搜索方法及*** - Google Patents
邮箱索引建立方法及***、邮箱搜索方法及*** Download PDFInfo
- Publication number
- CN102799611B CN102799611B CN201210185946.0A CN201210185946A CN102799611B CN 102799611 B CN102799611 B CN 102799611B CN 201210185946 A CN201210185946 A CN 201210185946A CN 102799611 B CN102799611 B CN 102799611B
- Authority
- CN
- China
- Prior art keywords
- mailbox
- user
- index
- node server
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Information Transfer Between Computers (AREA)
- Computer And Data Communications (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例公开了邮箱索引建立方法及***、邮箱搜索方法及***,所述邮箱索引建立方法包括:实时检测当前用户是否在使用邮箱的界面上选择邮箱全文搜索功能;如果是,则获取所述当前用户的邮箱信息,所述邮箱信息包括邮箱的存储位置信息、邮箱账户名信息及邮箱内容;将所述邮箱信息发送至所述当前用户所在的当前节点服务器,由所述当前节点服务器依据所述邮箱信息建立所述当前用户的邮箱索引。采用本发明实施例的方法或***,可以有效地降低建立索引的队列,进而提高建立索引的效率。进一步的,基于上述建立索引的方法建立的索引进行邮件查询时,也能够因为***性能的整体提升而提高搜索结果的准确度。
Description
技术领域
本发明涉及数据库技术领域,特别是涉及邮箱索引建立方法及***、邮箱搜索方法及***。
背景技术
随着计算机技术的发展,超大规模、永不删信的电子邮箱也应运而生,邮箱全文搜索的需求也越来越迫切。全文搜索又叫全文检索,通过在OUTLOOK中对文字内容建立倒排索引,以支持快速检索需求的一种技术。邮箱搜索***使用一般使用JAVA MAIL库解析信件内容,使用LUCENE库建立索引,提供搜索服务,并使用IKAnalyzer分词器进行分词,以及使用NETTY包处理网络连接及读写相关的工作。
现有的邮箱索引建立方法主要包括以下步骤:当用户的新邮件到达,或者用户修改邮件属性的时候,可以通过调度器获得用户所在的服务节点,并将消息发送到该服务节点的任务队列,而服务节点的建索引进程读取自己的任务队列,根据消息到相应的接口中取得邮件的内容,从而可以对邮件进行分词以便建立索引。
但是发明人在研究过程中发现,在邮箱全文搜索上线后,现有技术会导致存储服务器磁盘输入和输出(IO)负载很高,也会导致建立索引的队列很高,甚至达到上百万,就会使得建立索引的效率较低;进一步的,用户在搜索邮件时,由于***的性能问题也会导致查询结果不准确。
发明内容
本发明所要解决的技术问题是,提供一种邮箱索引建立方法及***、邮箱搜索方法及***,以解决现有技术中建立索引的效率较低的问题,以及进一步的解决用户搜索邮件的搜索结果不准确的问题。
为解决上述技术问题,本发明实施例提供了一种邮箱索引建立方法,该方法包括:
实时检测当前用户是否在使用邮箱的界面上选择邮箱全文搜索功能;
如果是,则获取所述当前用户的邮箱信息,所述邮箱信息包括邮箱的存储位置信息、邮箱账户名信息及邮箱内容;
将所述邮箱信息发送至所述当前用户所在的当前节点服务器,由所述当前节点服务器依据所述邮箱信息建立所述当前用户的邮箱索引。
优选的,在所述当前节点服务器依据所述邮箱信息建立所述当前用户的邮箱索引之前,还包括:
所述当前节点服务器判断所述当前用户是否为有效用户,如果是,则执行所述当前节点服务器依据所述邮箱信息建立所述当前用户的邮箱索引的步骤。
优选的,所述方法还包括:
将所有选择邮箱全文搜索功能的用户的用户信息保存至缓存服务器中的用户列表中;
则相应的,所述当前节点服务器判断所述当前用户是否为有效用户具体为:
所述当前节点服务器判断所述当前用户的用户信息是否保存在所述缓存服务器中的用户列表里。
优选的,在所述当前节点服务器依据所述邮箱信息建立所述当前用户的邮箱索引之后,所述方法还包括:
检测所述当前用户是否对邮箱***中的邮件进行了更新;
如果是,则将邮件更新信息发送至所述当前节点服务器,由所述当前节点服务器依据所述邮件更新信息对已经建立的邮箱索引进行更新。
优选的,所述方法还包括:
将所述当前用户的邮箱信息保存至邮箱***数据库中;
则相应的,所述获取选择邮箱全文搜索功能的用户的邮箱信息具体为:
通过所述邮箱***数据库的代理接口从邮箱***数据库中读取所述当前用户的邮箱信息。
一种邮箱搜索方法,采用上述邮箱索引建立方法建立邮箱索引;该搜索方法包括:
获取查询用户输入的搜索关键词及所述查询用户所在的待查询节点服务器;所述查询用户为已开启邮箱全文搜索功能的注册用户;
在所述待查询节点服务器上查找与所述搜索关键词匹配的邮箱索引;
将查找到的邮箱索引所对应的邮件展示给所述查询用户。
一种邮箱索引建立***,包括:
邮箱前端机,用于实时检测当前用户是否在使用邮箱的界面上选择邮箱全文搜索功能;
索引重建服务器,用于在当前用户选择邮箱全文搜索功能的情况下,获取所述当前用户的邮箱信息,所述邮箱信息包括邮箱的存储位置信息、邮箱账户名信息及邮箱内容;
所述当前用户所在的当前节点服务器,所述当前节点服务器包括索引建立模块,所述索引建立模块用于依据所述邮箱信息建立所述当前用户的邮箱索引。
优选的,所述当前节点服务器还包括:
判断模块,用于判断所述当前用户是否为有效用户;
触发模块,用于在所述判断模块的结果为是的情况下,触发所述索引建立模块。
优选的,所述索引建立***还包括:
缓存服务器,所述缓存服务器中的用户列表用于保存所有选择邮箱全文搜索功能的用户的用户信息;
则所述判断模块具体用于:判断所述当前用户的用户信息是否保存在所述缓存服务器中的用户列表里。
优选的,所述索引建立***还包括:
代理服务器,所述代理服务器包括检测模块和发送模块,所述检测模块用于检测所述缓存服务器的用户列表中的用户是否对邮箱***中的邮件进行了更新;
所述发送模块用于,在所述检测模块的结果为是的情况下,将邮件更新信息发送至更新用户所在的节点服务器,以便所述更新用户所在的节点服务器依据所述邮件更新信息对已经建立的邮箱索引进行更新。
优选的,所述索引建立***还包括:
邮箱***数据库,用于保存所有选择邮箱全文搜索功能的用户的邮箱信息;
则相应的,所述索引重建服务器具体用于:通过所述邮箱***数据库的代理接口从邮箱***数据库中读取所述当前用户的邮箱信息。
一种邮箱搜索***,包括:前述的邮箱索引建立***;其中,所述邮箱前端机还包括:
获取模块,用于获取查询用户输入的搜索关键词及所述查询用户所在的待查询节点服务器;所述查询用户为已开启邮箱全文搜索功能的注册用户;
查找模块,用于在所述待查询节点服务器上查找与所述搜索关键词匹配的邮箱索引;
展示模块,用于将查找到的邮箱索引所对应的邮件展示给所述查询用户。
从上述的技术方案可以看出,本发明实施例中公开的邮箱索引建立方法,通过在邮箱前端机上添加一个是否开启邮箱全文搜索功能的设置项,可以只对开启邮箱全文搜索功能的用户进行索引建立,这就会明显降低不必要的索引建立,从而有效地降低建立索引的队列,进而提高建立索引的效率。进一步的,基于上述建立索引的方法建立的索引进行邮件查询时,也能够因为***性能的整体提升而提高搜索结果的准确度。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明邮箱索引建立方法实施例1的流程图;
图2为本发明邮箱索引建立方法实施例2的流程图;
图3为本发明邮箱索引建立方法实施例3的流程图;
图4为本发明邮箱搜索方法实施例的流程图;
图5为本发明邮箱索引建立***实施例1的结构示意图;
图6为本发明邮箱索引建立***实施例2的结构示意图;
图7为本发明邮箱索引建立***实施例3的结构示意图;
图8为本发明邮箱搜索***实施例的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参见图1,示出了本发明的一种邮箱索引建立方法实施例1的流程图,本实施例可以包括以下步骤:
步骤101:实时检测当前用户是否在使用邮箱的界面上选择邮箱全文搜索功能,如果是,则进入步骤102。
本发明实施例在实施时,需要在邮箱前端机增加开启和关闭邮箱全文搜索功能的开关,该开关可以采用多种方式实现,比如按钮或者下拉菜单等方式,这样的话,如果用户在其使用邮箱的界面(例如网页邮箱或者0utlook等)上选择打开邮箱全文搜索功能,就说明该用户后续在查询邮件的时候,需要向其提供全文搜索的邮件查询结果,而如果用户在其使用邮箱的界面上没有选择打开邮箱全文搜索功能,则后续用户查询邮件时可以只在收件箱、发件箱和草稿箱等邮件的主题中检索,不会检索邮件正文的内容。
本步骤在具体实施时可以由邮箱前端机来执行,邮箱前端机实时检测当前用户是否在使用邮箱的界面上选择邮箱全文搜索功能,即是选择用户是否在其使用邮箱的界面上点击相应的按钮或者选中相应的菜单选项。
步骤102:获取所述当前用户的邮箱信息,所述邮箱信息包括邮箱的存储位置信息、邮箱账户名信息及邮箱内容。
在检测到当前用户在使用邮箱的界面上选择邮箱全文搜索功能之后,则获取该当前用户的邮箱信息,邮箱信息包括邮箱的存储位置信息,邮箱账户名信息以及邮箱的正文内容,邮箱的存储位置信息即是某个邮箱在邮箱***的数据库中的哪个位置进行存储,而账户名信息则是用户注册邮箱时的用户名信息,例如zhangsansina.com。进一步的,邮箱信息还可以包括邮箱的时间信息,例如收件箱中的邮件的接收时间,或者发件箱中的邮件的发送时间等,邮箱信息还可以包括收件箱中的邮件的发件人信息、邮箱标题信息、邮件的附件信息,或者草稿箱中的邮件的保存时间信息、发件人信息等,或者邮件信息还可以包括发件箱中的收件人信息邮件标题信息等,本步骤中的邮箱信息可以是与某一封邮件有关的所有的信息。
本步骤在具体实施时,可以由专门的索引重建服务器来实施。
步骤103:将所述邮箱信息发送至所述当前用户所在的当前节点服务器,由所述当前节点服务器依据所述邮箱信息建立所述当前用户的邮箱索引。
在本步骤中索引重建服务器再将邮箱信息发送至该当前用户所在的当前节点服务器上,由当前节点服务器依据邮箱信息建立该当前用户的邮箱索引。具体的,当前节点服务器在建立索引时,需要将邮箱信息中的内容进行分词,例如IKAnalyzer工具进行分词,IKAnalyzer工具是一个开源的基于java语言开发的轻量级的中文分词工具包,最终将邮箱信息中的内容全部进行分词之后,对于一个用户,将其邮箱中的所有的邮件进行分词所得到的关键词集合进行保存,并将该关键词集合与该当前用户进行关联即可得到该当前用户的邮箱索引,以便后续该当前用户查询邮件时在其邮箱索引中的关键词集合中进行查询。
在本步骤中建立的邮箱索引可以以一个关键词对应一个或多个邮件的方式进行保存,例如{关键词:娱乐,邮件:邮件1、邮件2......邮件n},其中n为自然数,该索引就标识共有n邮件包括关键词“娱乐”,那么当后续用户输入“娱乐”查询邮件的时候,就会检索到该条邮箱索引,并且检索到的邮件即是:邮件1、邮件2......邮件n。
在实施例中,节点服务器在建立索引时,不再是对所有用户都进行邮箱索引的建立,而只对步骤101中选择邮箱全文搜索功能的用户才会进行索引建立,这样的话,就减少了建立在邮箱全文搜索功能中没有选择邮箱全文搜索功能的用户的邮箱索引的过程,与现有技术相比,就可以节省建立不必要的索引的时间,从而也能够提高建立索引的效率。
参见图2,示出了本发明的一种邮箱索引建立方法实施例2的流程图,本实施例可以包括以下步骤:
步骤201:实时检测当前用户是否在使用邮箱的界面上选择邮箱全文搜索功能,如果是,则进入步骤102。
在本发明实施例中,如果用户没有在使用邮箱的界面上选择邮箱全文搜索功能,则不会触发本发明实施例公开的邮箱索引建立方法的流程。
步骤202:获取所述当前用户的邮箱信息,所述邮箱信息包括邮箱的存储位置信息、邮箱账户名信息及邮箱内容。
步骤203:将所述邮箱信息发送至所述当前用户所在的当前节点服务器。
在本实施例中,步骤201~203与实施例1相同,在此不再赘述。
步骤204:所述当前节点服务器判断所述当前用户是否为有效用户,如果是,则进入步骤205。
本实施例与实施例1不同之处在于,在将所述邮箱信息发送至所述当前用户所在的当前节点服务器之后,当前节点判断当前用户是否为有效用户,即是判断该当前用户是否是已经选择邮箱全文搜索功能的用户,并在当前用户为有效用户的情况下,再执行步骤205,这样就进一步保证了建立邮箱索引的用户一定都是已经选择邮箱全文搜索功能的用户,进一步可以保证索引建立的效率。
可以理解的是,在本步骤中,如果用户不是有效用户,则终止当前的邮箱索引建立流程。
步骤205:由所述当前节点服务器依据所述邮箱信息建立所述当前用户的邮箱索引。
在步骤205之后,本实施例还可以包括:
步骤206:检测所述当前用户是否对邮箱***中的邮件进行了更新,如果是,则进入步骤207。
本实施例与实施例1不同之处还在于,在本实施例中对新开启邮箱全文搜索功能的用户还需要检测其后续是否对邮箱***中的邮件进行了更新,例如用户新收到了邮件,或者用户新发送了邮件,或者用户新保存了邮件至草稿箱中以及用户修改了草稿箱中的邮件,或者用户删除了邮件(此时邮件会在“已删除邮件”的文件夹中),等用户更新邮件的操作,都可以由邮箱前端机进行对这种更新操作进行检测,一旦检测到用户对邮箱***中的邮件进行了更新,后续则需要同步的更新与更新的邮件对应的邮箱索引。
可以理解的是,在本步骤中,如果当前用户没有对邮箱***中的邮件进行更新,则终止当前的邮箱索引建立流程。
步骤207:将邮件更新信息发送至更新用户所在的节点服务器,由所述更新用户所在的节点服务器依据所述邮件更新信息对已经建立的邮箱索引进行更新。
邮箱前端机再将步骤206检测到的邮件更新信息发送至对邮件进行了更新的用户所在的节点服务器,由该更新用户所在的节点服务器依据该邮件更新信息对已经建立的邮箱索引进行更新,具体的,就是将更新后的新出现的邮箱内容进行分词之后,将新的关键词再加入原邮件索引的关键词集合中,或者当关键词发生变化时同步变化邮件索引中的关键词集合,或者当邮箱的关键词被删除时也同步删除邮件索引中的关键词集合中的关键词。
在本实施例中,因为可以在节点服务器建立邮箱索引之前先判断对应的用户是否为有效用户,所以可以在实施例1的基础上更进一步的保证建立邮箱索引的用户都是选择邮箱全文搜索功能的用户;并且,本实施例在对新开启的用户建立索引之后,如果检测到该选择邮箱全文搜索功能的用户又对其邮箱***中的任意邮件进行了更新,仍然同步的更新该邮件的邮箱索引,因此不仅保证新开启用户的索引建立,又保证了已开启用户的索引建立可以节省时间及提高效率。
参见图3,示出了本发明的一种邮箱索引建立方法实施例3的流程图,本实施例可以包括以下步骤:
步骤301:实时检测当前用户是否在使用邮箱的界面上选择邮箱全文搜索功能,如果是,则进入步骤302。
可以理解的是,在本步骤中,如果没有检测到用户选择邮箱全文搜索功能,则不会开始建立邮箱索引的流程。
步骤302:将所述当前用户的邮箱信息保存至邮箱***数据库中。
本实施例与实施例2的不同之处在于,本步骤中还将选择邮箱全文搜索功能的当前用户的邮箱信息保存至邮箱***数据库中,邮箱***数据库可以用来专门存储所有用户的邮箱信息,可以包括已经选择邮箱全文搜索功能的用户和未选择邮箱全文搜索功能的用户的邮箱信息,这样后续如果需要查询任一用户的邮箱信息,都可以在该邮箱***数据库中进行读取。
步骤303:通过所述邮箱***数据库的代理接口从邮箱***数据库中读取所述当前用户的邮箱信息,所述邮箱信息包括邮箱的存储位置信息、邮箱账户名信息及邮箱内容。
此步骤即是通过邮箱***数据库的代理接口从其中读取所述当前用户的邮箱信息,所述邮箱信息包括邮箱的存储位置信息、邮箱账户名信息及邮箱内容,通过代理接口可以更方便的从邮箱***数据库中读取邮箱信息。
步骤304:将所有选择邮箱全文搜索功能的用户的用户信息保存至缓存服务器中的用户列表中。
本实施例与实施例2的不同之处还在于,本实施例还需要将已经选择邮箱全文搜索功能的用户的用户信息保存至缓存服务器中的用户列表中,这样就能保证所有的选择邮箱全文搜索功能的用户都在该用户列表中。
该缓存数据库中还可以保存用户所在的节点服务器信息,例如保存用户账户名与节点服务器标识之间的对应关系,则后续从缓存数据库中保存的对应关系中查询到某一个用户所在的节点服务器的位置,邮箱前端机在检测到用户开启邮箱全文搜索功能之后,可以同步的将该用户的用户信息及所在的节点服务器的位置信息同步的保存至该缓存服务器中。
可以理解的是,本步骤的顺序可以不限定于此处,只需在步骤306之前即可。
步骤305:将所述邮箱信息发送至所述当前用户所在的当前节点服务器。
步骤306:所述当前节点服务器判断所述当前用户的用户信息是否保存在所述缓存服务器中的用户列表里,如果是,则进入步骤307。
在将用户保存到用户列表中之后,当前节点服务器只需判断当前用户的用户信息是否保存在所述缓存服务器中的用户列表中即可,如果在,则说明该用户为有效用户,即是用户确定为已经选择邮箱全文搜索功能的用户。可以理解的是,在本步骤中,如果判断结果为否,则会终止当前的邮箱索引的建立流程。
步骤307:由所述当前节点服务器依据所述邮箱信息建立所述当前用户的邮箱索引。
在本实施例中,通过保存所有用户的邮箱信息至邮箱***数据库中,就可以通过代理接口很方便的从其中读取到邮箱信息,并且本实施例还将所有选择邮箱全文搜索功能的用户的用户信息保存至缓存服务器中的用户列表中,这样就能通过判断用户是否保存在用户列表中来判断用户是否为有效用户,也能保证减少不必要的索引建立,同时还能够提高索引建立的效率。
参见图4,示出了本发明的一种邮箱搜索方法实施例的流程图,本实施例需要先采用前述邮箱索引建立方法的实施例1、实施例2和实施例3来建立用户的邮件索引,则在邮件索引建立之后,本实施例可以包括以下步骤:
步骤401:获取查询用户输入的搜索关键词及所述查询用户所在的待查询节点服务器;所述查询用户为已开启邮箱全文搜索功能的注册用户。
当用户需要搜索邮箱时,会在邮箱前端机的邮箱界面上输入搜索关键词,邮箱前端机就会获取到该用户输入的搜索关键词,并且邮箱前端机可以从缓存服务器中获取到该用户所在节点服务器的位置信息,本实施例中的查询用户需要是已开启邮箱全文搜索功能的注册用户。
步骤402:在所述待查询节点服务器上查找与所述搜索关键词匹配的邮箱索引。
邮箱前端机会在待查询节点服务器上查找与用户输入的搜索关键词匹配的邮箱索引,即是完全能够与搜索关键词匹配的邮箱索引,例如,如果用户的搜索关键词为“娱乐”,则邮箱索引中的关键词集合中需包括“娱乐”的邮箱索引才能被匹配到,而如果邮箱索引的关键词集合中虽然分别包括“娱”和“乐”,但是这两个字之间有其他字存在,则不认为能够匹配。
可以理解的是,本步骤中的邮箱索引可以采用前述邮箱索引建立方法的实施例1或实施例2或实施例3的方式进行实现。
步骤403:将查找到的邮箱索引所对应的邮件展示给所述查询用户。
本步骤中查找到的邮箱索引即是关键词集合中的某个或某些关键词对应的邮件,邮箱前端机会将这些邮件展示给该查询用户。具体的,在展示顺序上可以按照时间顺序来展示,当然也可以按照收件人或者发件人来进行展示,展示方式可以依据实际情况任意设置。
在本实施例中,针对的是已经选择邮箱全文搜索功能的用户在进行邮箱检索时的情况,因为该用户在建立邮件索引时节省了时间,那么很显然在该用户在搜索邮件的时候,也能够进一步的节省搜索邮件的效率,也提高了用户搜索邮件的准确度。而对于未选择邮箱全文搜索功能的用户在查询邮件时,邮箱前端机可以直接从邮箱***的数据库中通过代理接口获得邮件信息,并将邮件信息展现给用户,因为这种查询只能以收件人、发件人、主题等信头内容为查询条件,与现有技术相同,则本发明不做详细介绍。
通过以上的方法实施例的描述,所属领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:只读存储器(ROM)、随机存取存储器(RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
相应于上面的方法实施例,本发明实施例还提供一种邮箱索引建立***。参见图5,示出了一种邮箱索引建立***实施例1的结构示意图,可以包括:
邮箱前端机501,用于实时检测当前用户是否在使用邮箱的界面上选择邮箱全文搜索功能。
本实施例时依然需要在邮箱前端机501上增加开启和关闭邮箱全文搜索功能的开关,该开关可以采用多种方式实现,比如按钮或者下拉菜单等方式,这样的话,如果用户在其使用邮箱的界面(例如网页邮箱或者outlook等)上选择打开邮箱全文搜索功能,就说明该用户后续在查询邮件的时候,需要向其提供全文搜索的邮件查询结果,而如果用户在其使用邮箱的界面上没有选择打开邮箱全文搜索功能,则后续用户查询邮件时可以只在收件箱、发件箱和草稿箱等邮件的主题中检索,不会检索邮件正文的内容。
邮箱前端机501实时检测当前用户是否在使用邮箱的界面上选择邮箱全文搜索功能,即是选择用户是否在其使用邮箱的界面上点击相应的按钮或者选中相应的菜单选项。
索引重建服务器502,用于在当前用户选择邮箱全文搜索功能的情况下,获取所述当前用户的邮箱信息,所述邮箱信息包括邮箱的存储位置信息、邮箱账户名信息及邮箱内容。
索引重建服务器再将邮箱信息发送至该当前用户所在的当前节点服务器上,由当前节点服务器依据邮箱信息建立该当前用户的邮箱索引。
所述当前用户所在的当前节点服务器503,所述当前节点服务器包括索引建立模块5031,所述索引建立模块5031用于依据所述邮箱信息建立所述当前用户的邮箱索引。
当前节点服务器在建立索引时,需要将邮箱信息中的内容进行分词,例如IKAnalyzer工具进行分词,IKAnalyzer工具是一个开源的基于java语言开发的轻量级的中文分词工具包,最终将邮箱信息中的内容全部进行分词之后,对于一个用户,将其邮箱中的所有的邮件进行分词所得到的关键词集合进行保存,并将该关键词集合与该当前用户进行关联即可得到该当前用户的邮箱索引,以便后续该当前用户查询邮件时在其邮箱索引中的关键词集合中进行查询。
在实施例中,节点服务器在建立索引时,不再是对所有用户都进行邮箱索引的建立,而只对步骤101中选择邮箱全文搜索功能的用户才会进行索引建立,这样的话,就减少了建立在邮箱全文搜索功能中没有选择邮箱全文搜索功能的用户的邮箱索引的过程,与现有技术相比,就可以节省建立不必要的索引的时间,从而也能够提高建立索引的效率。
参见图6,示出了一种邮箱索引建立***实施例2的结构示意图,可以包括:
邮箱前端机501,用于实时检测当前用户是否在使用邮箱的界面上选择邮箱全文搜索功能。
索引重建服务器502,用于在当前用户选择邮箱全文搜索功能的情况下,获取所述当前用户的邮箱信息,所述邮箱信息包括邮箱的存储位置信息、邮箱账户名信息及邮箱内容。
当前节点服务器503包括:判断模块5032,用于判断所述当前用户是否为有效用户;
触发模块5033,用于在所述判断模块5032的结果为是的情况下,触发索引建立模块5031用于依据所述邮箱信息建立所述当前用户的邮箱索引。
代理服务器601,所述代理服务器可以包括:检测模块6011和发送模块6012,所述检测模块6011用于检测所述当前用户是否对邮箱***中的邮件进行了更新;
所述发送模块6012用于在所述检测模块的结果为是的情况下,将邮件更新信息发送至所述当前节点服务器,以便所述当前节点服务器依据所述邮件更新信息对已经建立的邮箱索引进行更新。
在本实施例中,因为可以在节点服务器建立邮箱索引之前先由判断模块5032判断对应的用户是否为有效用户,所以可以在实施例1的基础上更进一步的保证建立邮箱索引的用户都是选择邮箱全文搜索功能的用户;并且,本实施例在对新开启的用户建立索引之后,如果检测到该选择邮箱全文搜索功能的用户又对其邮箱***中的任意邮件进行了更新,仍然同步的更新该邮件的邮箱索引,因此不仅保证新开启用户的索引建立,又保证了已开启用户的索引建立可以节省时间及提高效率。
参见图7,示出了本发明的一种邮箱索引建立***实施例3的结构示意图,可以包括:
邮箱前端机501,用于实时检测当前用户是否在使用邮箱的界面上选择邮箱全文搜索功能。
邮箱***数据库701,用于保存所有选择邮箱全文搜索功能的用户的邮箱信息;
邮箱***数据库701可以用来专门存储所有用户的邮箱信息,可以包括已经选择邮箱全文搜索功能的用户和未选择邮箱全文搜索功能的用户的邮箱信息,这样后续如果需要查询任一用户的邮箱信息,都可以在该邮箱***数据库中进行读取。
索引重建服务器502,通过所述邮箱***数据库的代理接口从邮箱***数据库中读取所述当前用户的邮箱信息,所述邮箱信息包括邮箱的存储位置信息、邮箱账户名信息及邮箱内容;
缓存服务器702,所述缓存服务器中的用户列表用于保存所有选择邮箱全文搜索功能的用户的用户信息;
本实施例还需要将已经选择邮箱全文搜索功能的用户的用户信息保存至缓存服务器中的用户列表中,这样就能保证所有的选择邮箱全文搜索功能的用户都在该用户列表中。
该缓存服务器702中还可以保存用户所在的节点服务器信息,例如保存用户账户名与节点服务器标识之间的对应关系,则后续从缓存服务器中保存的对应关系中查询到某一个用户所在的节点服务器的位置,邮箱前端机在检测到用户开启邮箱全文搜索功能之后,可以同步的将该用户的用户信息及所在的节点服务器的位置信息同步的保存至该缓存服务器中。
当前节点服务器503可以包括:判断模块5032,判断所述当前用户的用户信息是否保存在所述缓存服务器中的用户列表里;
触发模块5033,用于在所述判断模块的结果为是的情况下,触发所述索引建立模块5031用于依据所述邮箱信息建立所述当前用户的邮箱索引。
在本实施例中,通过保存所有用户的邮箱信息至邮箱***数据库中,就可以通过代理接口很方便的从其中读取到邮箱信息,并且本实施例还将所有选择邮箱全文搜索功能的用户的用户信息保存至缓存服务器中的用户列表中,这样就能通过判断用户是否保存在用户列表中来判断用户是否为有效用户,也能保证减少不必要的索引建立,同时还能够提高索引建立的效率。
本发明还提供一种邮箱搜索***,参考图8所示,为邮箱搜索***实施例的结构示意图,该邮箱搜索***包括前述的邮箱索引建立***;其中,所述邮箱前端机501还可以包括:
获取模块801,用于获取查询用户输入的搜索关键词及所述查询用户所在的待查询节点服务器;所述查询用户为已开启邮箱全文搜索功能的注册用户;
查找模块802,用于在所述待查询节点服务器上查找与所述搜索关键词匹配的邮箱索引;
展示模块803,用于将查找到的邮箱索引所对应的邮件展示给所述查询用户。
在本实施例中,针对的是已经选择邮箱全文搜索功能的用户在进行邮箱检索时的情况,因为该用户在建立邮件索引时节省了时间,那么很显然在该用户在查询邮件的时候,也能够进一步的节省查询邮件的效率。
可以理解的是,本发明可用于众多通用或专用的计算***环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器***、基于微处理器的***、置顶盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、包括以上任何***或设备的分布式计算环境等等。
本发明可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本发明,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个......”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
对于***实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的***实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述仅是本发明的具体实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (8)
1.一种邮箱索引建立方法,其特征在于,将所有选择邮箱全文搜索功能的用户的用户信息保存至缓存服务器中的用户列表中;包括:
邮箱前端机实时检测当前用户是否在使用邮箱的界面上选择邮箱全文搜索功能;
如果是,则索引重建服务器获取所述当前用户的邮箱信息,所述邮箱信息包括邮箱的存储位置信息、邮箱账户名信息及邮箱内容;
将所述邮箱信息发送至所述当前用户所在的当前节点服务器,所述当前节点服务器判断所述当前用户的用户信息是否保存在所述缓存服务器中的用户列表里,如果是,则由所述当前节点服务器依据所述邮箱信息建立所述当前用户的邮箱索引。
2.根据权利要求1所述的方法,其特征在于,在所述当前节点服务器依据所述邮箱信息建立所述当前用户的邮箱索引之后,所述方法还包括:
检测所述当前用户是否对邮箱***中的邮件进行了更新;
如果是,则将邮件更新信息发送至所述当前节点服务器,由所述当前节点服务器依据所述邮件更新信息对已经建立的邮箱索引进行更新。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
将所述当前用户的邮箱信息保存至邮箱***数据库中;
则相应的,所述获取选择邮箱全文搜索功能的用户的邮箱信息具体为:
通过所述邮箱***数据库的代理接口从邮箱***数据库中读取所述当前用户的邮箱信息。
4.一种邮箱搜索方法,其特征在于,采用如权利要求1所述的方法建立邮箱索引;该搜索方法包括:
获取查询用户输入的搜索关键词及所述查询用户所在的待查询节点服务器;所述查询用户为已开启邮箱全文搜索功能的注册用户;
在所述待查询节点服务器上查找与所述搜索关键词匹配的邮箱索引;
将查找到的邮箱索引所对应的邮件展示给所述查询用户。
5.一种邮箱索引建立***,其特征在于,包括:
缓存服务器,所述缓存服务器中的用户列表用于保存所有选择邮箱全文搜索功能的用户的用户信息;
邮箱前端机,用于实时检测当前用户是否在使用邮箱的界面上选择邮箱全文搜索功能;
索引重建服务器,用于在当前用户选择邮箱全文搜索功能的情况下,获取所述当前用户的邮箱信息,所述邮箱信息包括邮箱的存储位置信息、邮箱账户名信息及邮箱内容;
所述当前用户所在的当前节点服务器,所述当前节点服务器包括索引建立模块,所述索引建立模块用于依据所述邮箱信息建立所述当前用户的邮箱索引;所述当前节点服务器还包括:判断模块,用于判断所述当前用户的用户信息是否保存在所述缓存服务器中的用户列表里;触发模块,用于在所述判断模块的结果为是的情况下,触发所述索引建立模块。
6.根据权利要求5所述的***,其特征在于,所述邮箱索引建立***还包括:
代理服务器,所述代理服务器包括检测模块和发送模块,所述检测模块用于检测所述缓存服务器的用户列表中的用户是否对邮箱***中的邮件进行了更新;
所述发送模块用于,在所述检测模块的结果为是的情况下,将邮件更新信息发送至更新用户所在的节点服务器,以便所述更新用户所在的节点服务器依据所述邮件更新信息对已经建立的邮箱索引进行更新。
7.根据权利要求5所述的***,其特征在于,所述邮箱索引建立***还包括:
邮箱***数据库,用于保存所有选择邮箱全文搜索功能的用户的邮箱信息;
则相应的,所述索引重建服务器具体用于:通过所述邮箱***数据库的代理接口从邮箱***数据库中读取所述当前用户的邮箱信息。
8.一种邮箱搜索***,其特征在于,包括:如权利要求5所述的邮箱索引建立***;其中,所述邮箱前端机还包括:
获取模块,用于获取查询用户输入的搜索关键词及所述查询用户所在的待查询节点服务器;所述查询用户为已开启邮箱全文搜索功能的注册用户;
查找模块,用于在所述待查询节点服务器上查找与所述搜索关键词匹配的邮箱索引;
展示模块,用于将查找到的邮箱索引所对应的邮件展示给所述查询用户。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210185946.0A CN102799611B (zh) | 2012-06-06 | 2012-06-06 | 邮箱索引建立方法及***、邮箱搜索方法及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210185946.0A CN102799611B (zh) | 2012-06-06 | 2012-06-06 | 邮箱索引建立方法及***、邮箱搜索方法及*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102799611A CN102799611A (zh) | 2012-11-28 |
CN102799611B true CN102799611B (zh) | 2015-04-08 |
Family
ID=47198721
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210185946.0A Active CN102799611B (zh) | 2012-06-06 | 2012-06-06 | 邮箱索引建立方法及***、邮箱搜索方法及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102799611B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103647694B (zh) * | 2013-09-26 | 2017-01-25 | 新浪网技术(中国)有限公司 | 一种电子邮件清理方法及装置 |
CN106775711B (zh) * | 2016-12-14 | 2020-10-23 | 浙江翼信科技有限公司 | 针对联系人的信息处理方法、设备和计算机可读存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101072200A (zh) * | 2007-05-11 | 2007-11-14 | 腾讯科技(深圳)有限公司 | 一种获知电子邮件回复、转发状态的方法和装置 |
CN101521634A (zh) * | 2009-04-01 | 2009-09-02 | 北京亿企通信息技术有限公司 | 一种在电子邮件***里面实现全文检索的方法 |
CN102023991A (zh) * | 2009-09-21 | 2011-04-20 | 中兴通讯股份有限公司 | 在终端上更新索引并基于其对搜索结果排序的方法及装置 |
CN102404341A (zh) * | 2011-12-22 | 2012-04-04 | 中标软件有限公司 | 电子邮件用户行为监测方法和装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8364663B2 (en) * | 2008-09-05 | 2013-01-29 | Microsoft Corporation | Tokenized javascript indexing system |
-
2012
- 2012-06-06 CN CN201210185946.0A patent/CN102799611B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101072200A (zh) * | 2007-05-11 | 2007-11-14 | 腾讯科技(深圳)有限公司 | 一种获知电子邮件回复、转发状态的方法和装置 |
CN101521634A (zh) * | 2009-04-01 | 2009-09-02 | 北京亿企通信息技术有限公司 | 一种在电子邮件***里面实现全文检索的方法 |
CN102023991A (zh) * | 2009-09-21 | 2011-04-20 | 中兴通讯股份有限公司 | 在终端上更新索引并基于其对搜索结果排序的方法及装置 |
CN102404341A (zh) * | 2011-12-22 | 2012-04-04 | 中标软件有限公司 | 电子邮件用户行为监测方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN102799611A (zh) | 2012-11-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109074354B (zh) | 展示候选项的方法和终端设备 | |
EP2856342B1 (en) | Recommending candidate terms based on geographical location | |
US10928996B2 (en) | Systems, devices and methods for electronic determination and communication of location information | |
US11436266B2 (en) | Method and apparatus for processing information of a terminal | |
CN109889426B (zh) | 基于即时通信的信息处理方法、装置及*** | |
KR101267006B1 (ko) | 인스턴트 메시징 서비스의 채팅창에서 인스턴트 메시지와 온라인 문서를 링크하는 방법 및 인스턴트 메시지와 온라인 문서를 링크하는 이동 단말 | |
CN103377652A (zh) | 一种用于进行语音识别的方法、装置和设备 | |
CN103533152A (zh) | 一种移动终端的短信处理方法及*** | |
US8762385B2 (en) | Methods and systems for implementing email recipient templates | |
RU2012103186A (ru) | Выведение специфичной для пользователя семантики местоположения из пользовательских данных | |
CN103425777A (zh) | 一种基于改进贝叶斯分类的短信智能分类及搜索方法 | |
CN107168599B (zh) | 一种即时通信方法和装置 | |
CN104575494A (zh) | 一种语音处理的方法和终端 | |
EP2908562B1 (en) | Address book information service system, and method and device for address book information service therein | |
CN103493047A (zh) | 词库更新装置、输入***和输入方法及终端 | |
CN103037338A (zh) | 一种联系信息的签名***方法及通讯终端 | |
KR101606319B1 (ko) | 데이터베이스를 이용한 푸시메시지 관리 방법 | |
CN102799611B (zh) | 邮箱索引建立方法及***、邮箱搜索方法及*** | |
WO2018120882A1 (zh) | 移动终端上获取事件信息的方法和移动终端 | |
CN108595141A (zh) | 语音输入方法及装置、计算机装置和计算机可读存储介质 | |
KR101858544B1 (ko) | 정보 처리 방법 및 장치 | |
US20070150541A1 (en) | Inbox management for threaded message views | |
KR102538098B1 (ko) | 단말기의 정보 처리 방법 및 장치 | |
CN102567121B (zh) | 实现融合通信的方法和装置 | |
KR101655771B1 (ko) | 위젯을 이용한 사용자 인터페이스 커스터마이징 방법 및 장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20230424 Address after: Room 501-502, 5/F, Sina Headquarters Scientific Research Building, Block N-1 and N-2, Zhongguancun Software Park, Dongbei Wangxi Road, Haidian District, Beijing, 100193 Patentee after: Sina Technology (China) Co.,Ltd. Address before: 100080, International Building, No. 58 West Fourth Ring Road, Haidian District, Beijing, 20 floor Patentee before: Sina.com Technology (China) Co.,Ltd. |
|
TR01 | Transfer of patent right |