一种全文搜索引擎及数据检索方法与流程

文档序号:12906219阅读:359来源:国知局
一种全文搜索引擎及数据检索方法与流程

本发明涉及云平台技术,尤指一种全文搜索引擎及数据检索方法。



背景技术:

随着云平台的发展和用户需求的增加,云平台中添加有越来越多的模块,以使云平台具有更多的功能。由于云平台的每个模块都有大量的数据,导致了云平台中数据量大,数据关系复杂。在相关技术中,通过建立云平台上每个数据的索引,将索引存储到表中,在云平台上检索数据时,根据存储有索引的表来进行检索。但是,一次只能在云平台的一个模块中检索,例如,云平台有监测模块、资源模块和用户操作模块,只能在监测模块、资源模块或者用户操作模块中检索数据,无法一次对这三个模块中的数据进行检索,也就是说相关技术中的检索效率比较低。



技术实现要素:

为了解决上述技术问题,本发明提供了一种全文搜索引擎及数据检索方法,提高了对云平台中各模块的检索效率。

为了达到本发明目的,本发明提供了一种全文搜索引擎,包括:

爬取模块,用于爬取云平台上的所有数据;

检索模块,用于根据来自用户输入的关键词,在爬取到的数据中检索包括该关键词的数据。

进一步地,还包括:

分类模块,用于根据所述检索到的数据在所述云平台中的存放位置,将所述检索到的在同一存放位置处的数据分为一类。

进一步地,还包括:

排序模块,用于按照所述检索到的数据的产生时间的先后顺序,对所述检索到的数据进行排序。

进一步地,所述全文搜索引擎是基于预先制定的全文搜索架构的引擎。

进一步地,所述全文搜索引擎存储在所述云平台的预定位置处,以供所述云平台从该预定位置处调用所述全文搜索引擎;或者

所述全文搜索引擎以插件的形式安装在所述云平台上。

本发明提供了一种数据检索方法,包括:

全文搜索引擎爬取云平台上的所有数据;

根据来自用户输入的关键词,在爬取到的数据中检索包括该关键词的数据。

进一步地,在所述检索包括该关键词的数据之后,还包括:

所述全文搜索引擎根据所述检索到的数据在所述云平台中的存放位置,将所述检索到的在同一存放位置处的数据分为一类。

进一步地,在所述检索包括该关键词的数据之后,还包括:

所述全文搜索引擎按照所述检索到的数据的产生时间的先后顺序,对所述检索到的数据进行排序。

本发明至少包括爬取模块,用于爬取云平台上的所有数据;检索模块,用于根据来自用户输入的关键词,在爬取到的数据中检索包括该关键词的数据。从本发明实施例可见,通过爬取云平台上的所有数据,在检索时云平台上的所有数据都是被检索的对象,由于云平台上的所有数据是存放在云平台的各个模块中的,因此实现了一次对云平台上的各个模块的数据进行检索,提高了数据检索的效率。

本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。

附图说明

附图用来提供对本发明技术方案的进一步理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本发明的技术方案,并不构成对本发明技术方案的限制。

图1为本发明实施例提供的一种全文搜索引擎的结构示意图;

图2为本发明实施例提供的另一种全文搜索引擎的结构示意图;

图3为本发明实施例提供的一种数据检索方法的流程示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。

在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

本发明实施例提供一种全文搜索引擎,如图1所示,该全文搜索引擎1包括:

爬取模块11,用于爬取云平台2上的所有数据。

其中,爬取的具体实现可以采用相关技术中的方式实现,具体实现并不用于限定本发明的保护范围,这里不再赘述。

检索模块12,用于根据来自用户输入的关键词,在爬取到的数据中检索包括该关键词的数据。

具体地,全文搜索引擎1根据输入关键词的用户的使用权限,在爬取到的数据中获取该使用权限内的数据,在该使用权限内的数据中检索包括关键词的数据。例如,用户的使用权限是普通用户的权限,则在云平台2的各模块的与该用户有关的数据中检索;或者用户的使用权限是管理员的权限,则在云平台2的各模块的所有用户数据中检索。

云平台2提供一个用户界面(userinterface,ui),用户通过该用户界面输入待检索的关键词,用户可以在用户界面上直接输入待检索的关键词,还可以在用户界面上输入待检索的句子,全文搜索引擎1对该句子进行拆分得到待检索的关键词。全文搜索引擎1根据来自用户输入的关键词,在爬取到的数据中检索包括该关键词的数据。

进一步地,在图1对应实施例的基础上,本发明提供另一种全文搜索引擎,如图2所示,该全文搜索引擎1还包括:

分类模块13,用于根据检索到的数据在云平台2中的存放位置,将检索到的在同一存放位置处的数据分为一类。

云平台2包括两个或两个以上的模块,例如云平台2有监测模块、资源模块和用户操作模块,云平台2上的数据存放在云平台的各个模块中,云平台2上的数据包括用于标识该数据的存放位置的信息,具体地,该信息为字符串,将在同一存放位置处的数据用同一字符串来标识,例如,将存放在云平台的监测模块中的数据用001标识,将存放在云平台的资源模块中的数据用002标识,将存放在云平台的用户操作模块中的数据用003标识。全文搜索引擎1根据检索到的数据的用于标识该数据的存放位置的信息,确定该数据在云平台2中的存放位置,将检索到的在同一存放位置处的数据分为一类,以供云平台2的用户界面按照检索到的数据的类别对检索到的数据进行展示。例如,全文搜索引擎1将检索到的存放在监测模块中的数据归为一类,将检索到的存放在资源模块中的数据归为一类,将检索到的存放在用户操作模块的数据归为一类。这样云平台2的用户界面在展示全文搜索引擎1检索到的数据时,将检索到的存放在监测模块中的数据放在一起展示,将检索到的存放在资源模块中的数据放在一起展示,将检索到的存放在操作模块中的数据放在一起展示,方便了用户了解对云平台2的各模块的检索情况。

进一步地,如图2所示,全文搜索引擎1还包括:

排序模块14,用于按照检索到的数据的产生时间的先后顺序,对检索到的数据进行排序。

具体地,全文搜索引擎1按照检索到的数据的产生时间的先后顺序,对检索到的数据进行排序,以供云平台2的用户界面按照该排序对检索到的数据进行展示。例如,检索到的数据产生时间与当前时间相差越小,该数据的排序就越靠前,云平台2的用户界面上就越靠前展示该数据,方便了用户在检索到的数据中查看最新产生的数据。当然也可以检索到的数据产生时间与当前时间相差越大,该数据的排序就越靠前,云平台2的用户界面上就越靠前展示该数据。

检索到的数据除了按照在云平台中的存放位置或者数据产生时间的先后顺序进行展示之外,还可以按照检索到的数据与用户输入的关键词之间的相关度进行展示。计算检索到的数据与用户输入的关键词之间的相关度可以采用相关技术中的方式实现,具体实现并不用于限定本发明的保护范围,这里不再赘述。从以上的描述来看在云平台2的用户界面上有三种方式来对检索到的数据进行展示。用户可以通过云平台2的用户界面选择检索到的数据的展示方式,如果用户不选择展示方式的话,可以默认按照数据产生时间的先后顺序进行展示。在按照数据产生时间的先后顺序进行展示后,用户可以通过云平台2的用户界面来切换展示方式。

进一步地,全文搜索引擎1是基于预先制定的全文搜索架构的引擎。

预先制定的全文搜索架构指的是lucene,全文搜索引擎1是基于lucene的引擎。lucene是apache软件(一种万维网服务器软件)基金会4jakarta(雅加达)项目组的一个子项目,是一个开放源代码的全文搜索引擎1工具包,但它不是一个完整的全文检索引擎,而是一个架构,提供了完整的查询引擎和索引引擎。

进一步地,全文搜索引擎1存储在云平台2的预定位置处,以供云平台2从该预定位置处调用全文搜索引擎1;或者全文搜索引擎1以插件的形式安装在云平台2上。

全文搜索引擎是一段开源的代码,例如是用python(一种面向对象的解释型计算机程序设计语言)编程的代码。在本发明中是将全文搜索引擎引入到云平台中,其中有两种方式将全文搜索引擎引导到云平台中,一种是将全文搜索引擎存储在云平台的预定位置处,在使用用户名和密码登录云平台后,用户通过云平台的用户界面输入待检索的关键词,云平台从预订位置处调用该全文搜索引擎,全文搜索引擎爬取云平台上的所有数据,以及根据来自用户输入的关键词,在爬取到的数据中检索包括该关键词的数据。另一种是将全文搜索引擎以插件的形式安装到云平台上,在用户通过云平台的用户界面输入待检索的关键词后,全文搜索引擎爬取云平台上的所有数据,以及根据来自用户输入的关键词,在爬取到的数据中检索包括该关键词的数据。

本发明实施例所提供的全文搜索引擎,爬取云平台的各模块的数据;根据来自用户输入的关键词,在爬取到的数据中检索包括该关键词的数据。从本发明实施例可见,通过爬取云平台上的所有数据,在检索时云平台上的所有数据都是被检索的对象,由于云平台上的所有数据是存放在云平台的各个模块中的,因此实现了一次对云平台上的各个模块的数据进行检索,提高了数据检索的效率。

本发明实施例提供一种数据检索方法,如图3所示,该数据检索方法包括:

步骤201、全文搜索引擎爬取云平台上的所有数据。

其中,爬取的具体实现可以采用相关技术中的方式实现,具体实现并不用于限定本发明的保护范围,这里不再赘述。

步骤202、根据来自用户输入的关键词,在爬取到的数据中检索包括该关键词的数据。

在步骤201之前,云平台提供一个用户界面(userinterface,ui),用户通过该用户界面输入待检索的关键词,用户可以在用户界面上直接输入待检索的关键词,还可以在用户界面上输入待检索的句子,全文搜索引擎对该句子进行拆分得到待检索的关键词。在步骤202中,全文搜索引擎根据来自用户输入的关键词,在爬取到的各模块的数据中检索包括该关键词的数据。

全文搜索引擎是一段开源的代码,例如是用python(一种面向对象的解释型计算机程序设计语言)编程的代码。在本发明中是将全文搜索引擎引入到云平台中,其中有两种方式将全文搜索引擎引导到云平台中,一种是将全文搜索引擎存储在云平台的预定位置处,在使用用户名和密码登录云平台后,用户通过云平台的用户界面输入待检索的关键词,云平台从预订位置处调用该全文搜索引擎,全文搜索引擎爬取云平台上的所有数据,以及根据来自用户输入的关键词,在爬取到的数据中检索包括该关键词的数据。另一种是将全文搜索引擎以插件的形式安装到云平台上,在用户通过云平台的用户界面输入待检索的关键词后,全文搜索引擎爬取云平台上的所有数据,以及根据来自用户输入的关键词,在爬取到的数据中检索包括该关键词的数据。

进一步地,在图3对应实施例的基础上,步骤202之后,还包括:

全文搜索引擎根据所述检索到的数据在所述云平台中的存放位置,将所述检索到的在同一存放位置处的数据分为一类。

云平台包括两个或两个以上的模块,例如云平台有监测模块、资源模块和用户操作模块,云平台上的数据存放在云平台的各个模块中,云平台上的数据包括用于标识该数据的存放位置的信息,具体地,该信息为字符串,将在同一存放位置处的数据用同一字符串来标识,例如,将存放在云平台的监测模块中的数据用001标识,将存放在云平台的资源模块中的数据用002标识,将存放在云平台的用户操作模块中的数据用003标识。全文搜索引擎根据检索到的数据的用于标识该数据的存放位置的信息,确定该数据在云平台中的存放位置,将检索到的在同一存放位置处的数据分为一类,以供云平台的用户界面按照检索到的数据的类别对检索到的数据进行展示。例如,全文搜索引擎将检索到的存放在监测模块中的数据归为一类,将检索到的存放在资源模块中的数据归为一类,将检索到的存放在用户操作模块的数据归为一类。这样云平台的用户界面在展示全文搜索引擎检索到的数据时,将检索到的存放在监测模块中的数据放在一起展示,将检索到的存放在资源模块中的数据放在一起展示,将检索到的存放在操作模块中的数据放在一起展示,方便了用户了解对云平台的各模块的检索情况。

进一步地,在图3对应实施例的基础上,步骤202之后,还包括:

全文搜索引擎按照检索到的数据的产生时间的先后顺序,对检索到的数据进行排序。

具体地,全文搜索引擎按照检索到的数据的产生时间的先后顺序,对检索到的数据进行排序,以供云平台的用户界面按照该排序对检索到的数据进行展示。例如,检索到的数据产生时间与当前时间相差越小,该数据的排序就越靠前,云平台的用户界面上就越靠前展示该数据,方便了用户在检索到的数据中查看最新产生的数据。当然也可以检索到的数据产生时间与当前时间相差越大,该数据的排序就越靠前,云平台的用户界面上就越靠前展示该数据。

检索到的数据除了按照在云平台中的存放位置或者数据产生时间的先后顺序进行展示之外,还可以按照检索到的数据与用户输入的关键词之间的相关度进行展示。计算检索到的数据与用户输入的关键词之间的相关度可以采用相关技术中的方式实现,具体实现并不用于限定本发明的保护范围,这里不再赘述。也就是说有三种方式来对检索到的数据进行展示。用户可以通过云平台的用户界面选择检索到的数据的展示方式,如果用户不选择展示方式的话,可以默认按照数据产生时间的先后顺序进行展示。在按照数据产生时间的先后顺序进行展示后,用户可以通过云平台的用户界面来切换展示方式。

进一步地,全文搜索引擎是基于预先制定的全文搜索架构的引擎。

预先制定的全文搜索架构指的是lucene,全文搜索引擎是基于lucene的引擎。在需要检索时,云平台调用放置在云平台的预定位置处的全文搜索引擎,全文搜索引擎爬取云平台上的所有数据来进行检索。或者将全文搜索引擎封装成一个插件,将该封装的插件安装到云平台上,当需要检索时,全文搜索引擎爬取云平台上的所有数据来进行检索。lucene是apache软件(一种万维网服务器软件)基金会4jakarta(雅加达)项目组的一个子项目,是一个开放源代码的全文搜索引擎工具包,但它不是一个完整的全文检索引擎,而是一个架构,提供了完整的查询引擎和索引引擎。

进一步地,在图3对应实施例的基础上,步骤202包括:

全文搜索引擎根据输入关键词的用户的使用权限,在爬取到的数据中获取该使用权限内的数据,在该使用权限内的数据中检索包括该关键词的数据。例如,用户的使用权限是普通用户的权限,则在云平台的各模块的与该用户有关的数据中检索;或者用户的使用权限是管理员的权限,则在云平台的各模块的所有用户数据中检索。

本发明实施例所提供的数据检索方法,全文搜索引擎爬取云平台上的所有数据;根据来自用户输入的关键词,在爬取到的数据中检索包括该关键词的数据。从本发明实施例可见,通过爬取云平台上的所有数据,在检索时云平台上的所有数据都是被检索的对象,由于云平台上的所有数据是存放在云平台的各个模块中的,因此实现了一次对云平台上的各个模块的数据进行检索,提高了数据检索的效率。

虽然本发明所揭露的实施方式如上,但所述的内容仅为便于理解本发明而采用的实施方式,并非用以限定本发明。任何本发明所属领域内的技术人员,在不脱离本发明所揭露的精神和范围的前提下,可以在实施的形式及细节上进行任何的修改与变化,但本发明的专利保护范围,仍须以所附的权利要求书所界定的范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1