CN111428114B - Elasticsearch搜索引擎的索引创建方法及装置 - Google Patents
Elasticsearch搜索引擎的索引创建方法及装置 Download PDFInfo
- Publication number
- CN111428114B CN111428114B CN202010229745.0A CN202010229745A CN111428114B CN 111428114 B CN111428114 B CN 111428114B CN 202010229745 A CN202010229745 A CN 202010229745A CN 111428114 B CN111428114 B CN 111428114B
- Authority
- CN
- China
- Prior art keywords
- index
- elastic search
- resource group
- request
- information
- 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
- 238000000034 method Methods 0.000 title claims abstract description 53
- 238000002955 isolation Methods 0.000 claims abstract description 10
- 230000015654 memory Effects 0.000 claims description 22
- 238000012508 change request Methods 0.000 claims description 19
- 230000008859 change Effects 0.000 claims description 18
- 238000004590 computer program Methods 0.000 claims description 13
- 238000012545 processing Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 3
- 229920001971 elastomer Polymers 0.000 description 3
- 239000000806 elastomer Substances 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000013138 pruning Methods 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/951—Indexing; Web crawling techniques
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种Elasticsearch搜索引擎的索引创建方法及装置,该方法包括:获取索引创建请求,其中,所述索引创建请求包括:资源组信息;确定所述资源组信息对应的Elasticsearch节点信息;根据所述Elasticsearch节点信息生成索引配置;将所述索引配置发送到所述Elasticsearch节点信息中的Elasticsearch节点,以使Elasticsearch节点根据所述索引配置生成所述索引创建请求对应的索引。本发明实现了对Elasticsearch进行资源隔离,解决了目前当一个租户大量使用节点资源时,可能导致集群无法向其他租户提供计算能力或服务能力下降的问题。
Description
技术领域
本发明涉及Elasticsearch搜索引擎,具体而言,涉及一种Elasticsearch搜索引擎的索引创建方法及装置。
背景技术
Elasticsearch是个优秀的基于Lucene的分布式搜索引擎。在目前企业大量使用大数据技术的背景下,很多情况下会用到Elasticsearch集群来提供搜索服务。Elasticsearch集群将数据存储于一个或多个索引中,索引是具有类似特性的文档的集合。目前,Elasticsearch不具有资源隔离的特性,Elasticsearch集群中的索引可以使用集群中的所有Elasticsearch节点。这就导致在多租户使用的情况下,会遇到资源的争用情况,当一个租户大量使用节点资源时,可能导致集群无法向其他租户提供计算能力或服务能力下降。
发明内容
本发明为了解决上述背景技术中的至少一个技术问题,提出了一种Elasticsearch搜索引擎的索引创建方法及装置。
为了实现上述目的,根据本发明的一个方面,提供了一种Elasticsearch搜索引擎的索引创建方法,该方法包括:
获取索引创建请求,其中,所述索引创建请求包括:资源组信息;
确定所述资源组信息对应的Elasticsearch节点信息;
根据所述Elasticsearch节点信息生成索引配置;
将所述索引配置发送到所述Elasticsearch节点信息中的Elasticsearch节点,以使Elasticsearch节点根据所述索引配置生成所述索引创建请求对应的索引。
可选的,所述索引创建请求还包括:待创建索引的第一索引名;
所述Elasticsearch搜索引擎的索引创建方法,还包括:
根据所述资源组信息以及所述待创建索引的第一索引名生成所述待创建索引的第二索引名。
可选的,所述将所述索引配置发送到所述Elasticsearch节点信息中的Elasticsearch节点,以使Elasticsearch节点根据所述索引配置生成所述索引创建请求对应的索引,具体为:
将所述索引配置以及所述第二索引名发送到所述Elasticsearch节点信息中的Elasticsearch节点,以使Elasticsearch节点根据所述索引配置以及所述第二索引名生成所述待创建索引。
可选的,该Elasticsearch搜索引擎的索引创建方法还包括:
获取对目标索引中的数据进行增删改查操作的第一操作请求,其中,所述第一操作请求包括:资源组信息和所述目标索引的第一索引名;
确定所述第一操作请求中的资源组信息对应的Elasticsearch节点信息;
根据所述第一操作请求中的资源组信息以及所述目标索引的第一索引名确定所述目标索引的第二索引名;
根据所述第二索引名以及所述第一操作请求生成第二操作请求,并将所述第二操作请求发送到所述第一操作请求中的资源组信息对应的Elasticsearch节点信息中的Elasticsearch节点。
可选的,该Elasticsearch搜索引擎的索引创建方法还包括:
获取目标资源组的节点变更请求,其中,所述节点变更请求:节点变更信息;
确定所述目标资源组对应的所有索引;
根据所述节点变更信息更新所述目标资源组对应的所有索引的索引配置。
为了实现上述目的,根据本发明的另一方面,提供了一种Elasticsearch搜索引擎的索引创建装置,该装置包括:
索引创建请求获取单元,用于获取索引创建请求,其中,所述索引创建请求包括:资源组信息;
节点确定单元,用于确定所述资源组信息对应的Elasticsearch节点信息;
索引配置生成单元,用于根据所述Elasticsearch节点信息生成索引配置;
索引创建信息发送单元,用于将所述索引配置发送到所述Elasticsearch节点信息中的Elasticsearch节点,以使Elasticsearch节点根据所述索引配置生成所述索引创建请求对应的索引。
可选的,所述索引创建请求还包括:待创建索引的第一索引名;
所述Elasticsearch搜索引擎的索引创建装置,还包括:
索引名生成单元,用于根据所述资源组信息以及所述待创建索引的第一索引名生成所述待创建索引的第二索引名。
可选的,所述索引创建信息发送单元,具体用于将所述索引配置以及所述第二索引名发送到所述Elasticsearch节点信息中的Elasticsearch节点,以使Elasticsearch节点根据所述索引配置以及所述第二索引名生成所述待创建索引。
可选的,该Elasticsearch搜索引擎的索引创建装置还包括:
数据增删改查请求获取单元,用于获取对目标索引中的数据进行增删改查操作的第一操作请求,其中,所述第一操作请求包括:资源组信息和所述目标索引的第一索引名;
节点信息确定单元,用于确定所述第一操作请求中的资源组信息对应的Elasticsearch节点信息;
索引名确定单元,用于根据所述第一操作请求中的资源组信息以及所述目标索引的第一索引名确定所述目标索引的第二索引名;
操作请求发送单元,用于根据所述第二索引名以及所述第一操作请求生成第二操作请求,并将所述第二操作请求发送到所述第一操作请求中的资源组信息对应的Elasticsearch节点信息中的Elasticsearch节点。
可选的,该Elasticsearch搜索引擎的索引创建装置还包括:
节点变更请求获取单元,用于获取目标资源组的节点变更请求,其中,所述节点变更请求:节点变更信息;
索引查询单元,用于确定所述目标资源组对应的所有索引;
索引配置更新单元,用于根据所述节点变更信息更新所述目标资源组对应的所有索引的索引配置。
为了实现上述目的,根据本发明的另一方面,还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述Elasticsearch搜索引擎的索引创建方法中的步骤。
为了实现上述目的,根据本发明的另一方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序在计算机处理器中执行时实现上述Elasticsearch搜索引擎的索引创建方法中的步骤。
本发明的有益效果为:本发明实施例通过设置资源组,每个租户对应一个资源组,以及为每个资源组配置对应若干个Elasticsearch节点,在生成资源组对应的索引时,将该资源组对应的Elasticsearch节点写入索引配置中,对生成的索引所能使用的节点进行限制,实现了对Elasticsearch进行资源隔离,解决了目前当一个租户大量使用节点资源时,可能导致集群无法向其他租户提供计算能力或服务能力下降的问题。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1是本发明第一实施例索引创建方法的流程图;
图2是本发明第二实施例索引创建方法的流程图;
图3是本发明第一实施例对索引中的数据进行增删改查操作的流程图;
图4是本发明实施例对资源组对应的节点进行变更的流程图;
图5是本发明第三实施例索引创建方法的流程图;
图6是本发明第二实施例对索引中的数据进行增删改查操作的流程图;
图7是本发明实施例索引创建方法的使用场景示意图;
图8是本发明实施例索引创建装置的结构框图;
图9是本发明实施例计算机设备示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
本领域内的技术人员应明白,本发明的实施例可提供为方法、***、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明。
本发明提供一种Elasticsearch搜索引擎的索引创建方法,实现对Elasticsearch进行资源隔离。图7是本发明实施例索引创建方法的使用场景示意图,如图7所示,本发明采用定制客户端、及添加服务代理模块方式实现资源隔离。通过这种方法,可减低企业内部使用时的运维成本。
本发明在使用Elasticsearch时,将需要隔离的资源定义不同的“资源组”(Resource Group),一个“资源组”对应若干个Elasticsearch节点,每个“资源组”只能使用Elasticsearch集群中对应的Elasticsearch节点。可选的,一个“资源组”对应至少3个Elasticsearch节点。
如图7所示,本发明实施例的索引创建方法的使用场景中包括:客户端、服务代理模块、元数据存储模块和Elasticsearch集群。
客户端,租户使用此客户端连接服务代理模块。在客户端进行实例化时,可传入资源组名,可以提供如下所示接口:
服务代理模块,对外提供接入的服务器,接受处理来自客户端的请求,与元数据存储模块交互获取存储有资源组、节点、物理机或虚拟机之间的关系的储元数据,与Elasticsearch集群进行数据操作。
元数据存储模块,可以是个数据库,数据库中记录资源组、节点、物理机或虚拟机的关系的元数据表,包含节点名、IP地址、资源组名3个字段,建表语句可以如下:
图1是本发明一可选实施例的Elasticsearch搜索引擎的索引创建方法的流程图,如图1所示,本实施例的Elasticsearch搜索引擎的索引创建方法包括步骤S101至步骤S104。
步骤S101,获取索引创建请求,其中,所述索引创建请求包括:资源组信息。
在本发明实施例中,服务代理模块接收用户通过客户端发送的索引创建请求。每个用户对应一个资源组,所述索引创建请求中包含用户对应的资源组信息。在本发明可选实施例中,资源组信息可以为资源组名或资源组编号。
步骤S102,确定所述资源组信息对应的Elasticsearch节点信息。
在本发明实施例中,每个资源组对应预设的多个Elasticsearch节点。资源组、Elasticsearch节点、物理机或虚拟机之间的对应关系存储在元数据存储模块中。本步骤服务代理模块可以通过访问元数据存储模块查询出资源组信息对应的Elasticsearch节点信息。
步骤S103,根据所述Elasticsearch节点信息生成索引配置。
在本步骤中,服务代理模块将资源组对应的Elasticsearch节点信息写入待生成索引的索引配置中,索引配置限制将要生成的索引可以使用的Elasticsearch节点,以此实现了资源隔离。
步骤S104,将所述索引配置发送到所述Elasticsearch节点信息中的Elasticsearch节点,以使Elasticsearch节点根据所述索引配置生成所述索引创建请求对应的索引。
在本步骤中,服务代理模块将索引配置发送到Elasticsearch集群中的上述Elasticsearch节点信息中任意一个Elasticsearch节点,该Elasticsearch节点根据索引配置创建对应的索引。
由此可见,本发明实施例通过设置资源组,每个租户对应一个资源组,以及为每个资源组配置对应若干个Elasticsearch节点,在生成资源组对应的索引时,将该资源组对应的Elasticsearch节点写入索引配置中,对生成的索引所能使用的节点进行限制,实现了对Elasticsearch进行资源隔离,解决了目前当一个租户大量使用节点资源时,可能导致集群无法向其他租户提供计算能力或服务能力下降的问题。
图2是本发明另一可选实施例的Elasticsearch搜索引擎的索引创建方法的流程图,如图2所示,本实施例的Elasticsearch搜索引擎的索引创建方法包括步骤S201至步骤S205。
步骤S201,获取索引创建请求,其中,所述索引创建请求包括:资源组信息以及待创建索引的第一索引名。
在本发明可选实施例中,第一索引名为用户设置的待创建索引的索引名。
步骤S202,确定所述资源组信息对应的Elasticsearch节点信息。
步骤S203,根据所述Elasticsearch节点信息生成索引配置。
步骤S204,根据所述资源组信息以及所述待创建索引的第一索引名生成所述待创建索引的第二索引名。
在本发明可选实施例中,本步骤可以将资源组信息与第一索引名进行拼接生成第二索引名。具体可以为,将资源组信息作为第一索引名的前缀,生成第二索引名。在本发明实施例中,第二索引名为实际在Elasticsearch集群中的索引名。
在本发明实施例中,一个索引包括两个索引名,即用户设置的索引名以及实际在Elasticsearch集群中的索引名。在客户端与服务代理模块进行交互时,数据中使用的是用户设置的索引名,而在服务代理模块于Elasticsearch集群中进行交互时,数据中使用的是实际在Elasticsearch集群中的索引名,服务代理模块中可以存储有用户设置的索引名与实际在Elasticsearch集群中的索引名之间的对应关系。采用此方法可以有效的避免了不同用户在Elasticsearch集群创建同样名称的索引,也便于用户对自己创建的索引进行管理。
步骤S205,将所述索引配置以及所述第二索引名发送到所述Elasticsearch节点信息中的Elasticsearch节点,以使Elasticsearch节点根据所述索引配置以及所述第二索引名生成所述待创建索引。
在本步骤中,服务代理模块将索引配置以及第二索引名发送Elasticsearch集群中的上述Elasticsearch节点信息中任意一个Elasticsearch节点,Elasticsearch节点根据索引配置以及第二索引名创建对应的索引。
图3是本发明第一实施例对索引中的数据进行增删改查操作的流程图,如图3所示,在本发明实施例中,对索引中的数据进行增删改查操作的流程包括步骤S301至步骤S304。
步骤S301,获取对目标索引中的数据进行增删改查操作的第一操作请求,其中,所述第一操作请求包括:资源组信息和所述目标索引的第一索引名。
在本发明实施例中,服务代理模块接收用户通过客户端发送的所述第一操作请求。在本发明可选实施例中,所述第一操作请求可以为对目标索引的数据查询请求、对目标索引的数据写入请求、对目标索引的数据删除请求以及对目标索引的数据修改请求。所述第一操作请求中还包括数据处理信息。
步骤S302,确定所述第一操作请求中的资源组信息对应的Elasticsearch节点信息。
步骤S303,根据所述第一操作请求中的资源组信息以及所述目标索引的第一索引名确定所述目标索引的第二索引名。
在本发明实施例中,本步骤可以将资源组信息作为第一索引名的前缀得到目标索引的第二索引名。在本发明其他可选实施例中,服务代理模块中可以存储有每个资源组下的各第一索引名与第二索引名之间的对应关系,本步骤可以根据该对应关系确定某个资源组下的某个第一索引名对应的第二索引名。
步骤S304,根据所述第二索引名以及所述第一操作请求生成第二操作请求,并将所述第二操作请求发送到所述第一操作请求中的资源组信息对应的Elasticsearch节点信息中的Elasticsearch节点。
在本发明可选实施例中,本步骤可以用第二索引名替换第一操作请求中的第一索引名,得到第二操作请求。在本步骤中,服务代理模块将第二操作请求发送到Elasticsearch集群中的上述Elasticsearch节点信息中任意一个Elasticsearch节点,进而Elasticsearch节点根据第二操作请求中的第二索引名查找到目标索引,进而执行第二操作请求对应的数据处理操作。
图4是本发明实施例对资源组对应的节点进行变更的流程图,如图4所示,在本发明可选实施例中,对资源组对应的节点进行变更的流程包括步骤S401至步骤S403。
步骤S401,获取目标资源组的节点变更请求,其中,所述节点变更请求:节点变更信息。
在本发明实施例中,服务代理模块接收用户通过客户端发送的节点变更请求。在本发明可选实施例中,节点变更请求可以为新增目标资源组对应的Elasticsearch节点的请求、删除目标资源组对应的某个/些Elasticsearch节点的请求以及对目标资源组对应的某个/些Elasticsearch节点进行替换的请求。
步骤S402,确定所述目标资源组对应的所有索引。
在本发明实施例中,服务代理模块向Elasticsearch集群发送查询请求,查询出目标资源组对应的所有索引。在本发明可选实施例中,由于Elasticsearch集群中的索引的名称(第二索引名)包含资源组信息前缀,Elasticsearch集群可以通过判断索引名的前缀与目标资源组是否相同,来查找目标资源组对应的所有索引。
步骤S403,根据所述节点变更信息更新所述目标资源组对应的所有索引的索引配置。
在本发明实施例中,Elasticsearch集群在查找出目标资源组对应的所有索引之后,根据所述节点变更信息更新查找出的各索引的索引配置,从而完成对目标资源组的节点变更。
在本发明实施例中,在对目标资源组的节点进行变更完成之后,元数据存储模块对目标资源组与Elasticsearch节点的对应关系进行更新。
图5是本发明第三实施例索引创建方法的流程图,在本发明可选实施例中,本发明索引创建方法的流程具体可以包括步骤S501至步骤S509。
步骤S501,客户端发送新建索引请求给服务代理模块。
步骤S502,服务代理模块收到请求后,从请求中解析资源组信息。
步骤S503,据步骤S502,服务代理模块若获取到资源组信息,则执行步骤S504;若没有获取到资源组信息,则执行步骤S509。
步骤S504,从元数据存储模块中,获取该资源组的节点信息。
步骤S505,服务代理模块生成索引配置,配置中限制索引所用节点为步骤S504中获取的节点。
步骤S506,服务代理模块在需要新建的索引名加上资源组前缀,生成实际集群中索引名。
步骤S507,服务代理模块发送新建索引请求至Elasticsearch集群中上述资源组对应的Elasticsearch节点中任意一个节点,新建索引请求包括上述索引配置以及实际集群中索引名。
步骤S508,服务代理模块将Elasticsearch集群返回信息包装后,返回客户端,作为新建索引成功或失败信息。
步骤S509,服务代理模块返回客户端错误信息,告知请求中没有包含资源组信息。
图6是本发明第二实施例对索引中的数据进行增删改查操作的流程图,如图6所示,在本发明可选实施例中,本发明对索引中的数据进行增删改查操作的流程具体包括步骤S601至步骤S608。
步骤S601,客户端发送数据增删改查请求,数据增删改查请求包括数据所在索引的索引名。
步骤S602,服务代理模块收到请求后,从请求中解析资源组信息。
步骤S603,据步骤S602,服务代理模块若获取到资源组信息,则执行步骤S604;若没有获取到资源组信息,则执行步骤S608。
步骤S604,服务代理模块从元数据存储模块中,获取该资源组的节点信息。
步骤S605,服务代理模块在索引名加上资源组前缀,得到集群中的索引名;
步骤S606,服务代理模块发送数据增删改查请求至至Elasticsearch集群中上述资源组对应的Elasticsearch节点中任意一个节点,数据增删改查请求包含集群中的索引名。
步骤S607,服务代理模块获取步骤S606中Elasticsearch集群返回的信息,并修改其中索引名去除资源组前缀,作为数据增删改查操作的返回信息返回给客户端。
步骤S608,服务代理模块返回客户端HTTP状态码404的信息,表示没有操作的资源组。
在本发明可选实施例中,对某个资源组对应的Elasticsearch节点进行扩容操作流程如下:
步骤1,客户端发送Rest请求到服务代理模块,请求中包含新节点与资源组对照关系信息。
步骤2,服务代理模块收到请求后,将新节点与资源组对照关系***元数据存储模块中。
步骤3,服务代理模块向Elasticsearch集群发送请求获取所有的该资源组内的索引。
步骤4,服务代理模块向Elasticsearch集群发送请求更新步骤3中获取到索引的允许使用的节点范围。
步骤5,服务代理模块返回客户端成功或失败消息。
从以上实施例可以看出,本发明至少实现了一下有益效果:本发明通过设置资源组,每个租户对应一个资源组,以及为每个资源组配置对应若干个Elasticsearch节点,在生成资源组对应的索引时,将该资源组对应的Elasticsearch节点写入索引配置中,对生成的索引所能使用的节点进行限制,实现了对Elasticsearch进行资源隔离,能够有效的减少多套集群的运维成本,并且对使用方不产生额外的负担。
需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机***中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
基于同一发明构思,本发明实施例还提供了一种Elasticsearch搜索引擎的索引创建装置,可以用于实现上述实施例所描述的Elasticsearch搜索引擎的索引创建方法,如下面的实施例所述。由于Elasticsearch搜索引擎的索引创建装置解决问题的原理与Elasticsearch搜索引擎的索引创建方法相似,因此Elasticsearch搜索引擎的索引创建装置的实施例可以参见Elasticsearch搜索引擎的索引创建方法的实施例,重复之处不再赘述。以下所使用的,术语“单元”或者“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图8是本发明实施例Elasticsearch搜索引擎的索引创建装置的结构框图,如图8所示,本发明实施例Elasticsearch搜索引擎的索引创建装置包括:索引创建请求获取单元1、节点确定单元2、索引配置生成单元3和索引创建信息发送单元4。
索引创建请求获取单元1,用于获取索引创建请求,其中,所述索引创建请求包括:资源组信息。
节点确定单元2,用于确定所述资源组信息对应的Elasticsearch节点信息。
索引配置生成单元3,用于根据所述Elasticsearch节点信息生成索引配置。
索引创建信息发送单元4,用于将所述索引配置发送到所述Elasticsearch节点信息中的Elasticsearch节点,以使Elasticsearch节点根据所述索引配置生成所述索引创建请求对应的索引。
在本发明的可选实施例中,所述索引创建请求还包括:待创建索引的第一索引名。所述Elasticsearch搜索引擎的索引创建装置,还包括:索引名生成单元,用于根据所述资源组信息以及所述待创建索引的第一索引名生成所述待创建索引的第二索引名。
在本发明的可选实施例中,所述索引创建信息发送单元4,具体用于将所述索引配置以及所述第二索引名发送到所述Elasticsearch节点信息中的Elasticsearch节点,以使Elasticsearch节点根据所述索引配置以及所述第二索引名生成所述待创建索引。
在本发明的可选实施例中,本发明的Elasticsearch搜索引擎的索引创建装置,还包括:
数据增删改查请求获取单元,用于获取对目标索引中的数据进行增删改查操作的第一操作请求,其中,所述第一操作请求包括:资源组信息和所述目标索引的第一索引名;
节点信息确定单元,用于确定所述第一操作请求中的资源组信息对应的Elasticsearch节点信息;
索引名确定单元,用于根据所述第一操作请求中的资源组信息以及所述目标索引的第一索引名确定所述目标索引的第二索引名;
操作请求发送单元,用于根据所述第二索引名以及所述第一操作请求生成第二操作请求,并将所述第二操作请求发送到所述第一操作请求中的资源组信息对应的Elasticsearch节点信息中的Elasticsearch节点。
在本发明的可选实施例中,本发明的Elasticsearch搜索引擎的索引创建装置,还包括:
节点变更请求获取单元,用于获取目标资源组的节点变更请求,其中,所述节点变更请求:节点变更信息;
索引查询单元,用于确定所述目标资源组对应的所有索引;
索引配置更新单元,用于根据所述节点变更信息更新所述目标资源组对应的所有索引的索引配置。
为了实现上述目的,根据本申请的另一方面,还提供了一种计算机设备。如图9所示,该计算机设备包括存储器、处理器、通信接口以及通信总线,在存储器上存储有可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述实施例方法中的步骤。
处理器可以为中央处理器(Central Processing Unit,CPU)。处理器还可以为其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等芯片,或者上述各类芯片的组合。
存储器作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序、非暂态计算机可执行程序以及单元,如本发明上述方法实施例中对应的程序单元。处理器通过运行存储在存储器中的非暂态软件程序、指令以及模块,从而执行处理器的各种功能应用以及作品数据处理,即实现上述方法实施例中的方法。
存储器可以包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需要的应用程序;存储数据区可存储处理器所创建的数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施例中,存储器可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至处理器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
所述一个或者多个单元存储在所述存储器中,当被所述处理器执行时,执行上述实施例中的方法。
上述计算机设备具体细节可以对应参阅上述实施例中对应的相关描述和效果进行理解,此处不再赘述。
为了实现上述目的,根据本申请的另一方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序在计算机处理器中执行时实现上述Elasticsearch搜索引擎的索引创建方法中的步骤。本领域技术人员可以理解,实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述存储介质可为磁碟、光盘、只读存储记忆体(Read-OnlyMemory,ROM)、随机存储记忆体(Randomaccessmemory,RAM)、快闪存储器(Flash Memory)、硬盘(Hard Disk Drive,缩写:HDD)或固态硬盘(Solid-State Drive,SSD)等;所述存储介质还可以包括上述种类的存储器的组合。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种Elasticsearch搜索引擎的索引创建方法,其特征在于,包括:
获取租户发送的索引创建请求,其中,所述索引创建请求包括:资源组信息,每个租户对应一个资源组;
确定所述资源组信息对应的Elasticsearch节点信息;
根据所述Elasticsearch节点信息生成索引配置,其中,所述索引配置用于对索引所使用的Elasticsearch节点进行限制,以此实现资源隔离;
将所述索引配置发送到所述Elasticsearch节点信息中的Elasticsearch节点,以使Elasticsearch节点根据所述索引配置生成所述索引创建请求对应的索引;
获取目标资源组的节点变更请求,其中,所述节点变更请求包括:节点变更信息;节点变更请求为新增目标资源组对应的Elasticsearch节点的请求、删除目标资源组对应的某个/些Elasticsearch节点的请求以及对目标资源组对应的某个/些Elasticsearch节点进行替换的请求;
确定所述目标资源组对应的所有索引,其中,通过判断索引名的前缀与目标资源组是否相同,来查找目标资源组对应的所有索引,Elasticsearch集群中的索引的名称包含资源组信息前缀;
根据所述节点变更信息更新所述目标资源组对应的所有索引的索引配置,从而完成对目标资源组的节点变更。
2.根据权利要求1所述的Elasticsearch搜索引擎的索引创建方法,其特征在于,所述索引创建请求还包括:待创建索引的第一索引名;
所述Elasticsearch搜索引擎的索引创建方法,还包括:
根据所述资源组信息以及所述待创建索引的第一索引名生成所述待创建索引的第二索引名。
3.根据权利要求2所述的Elasticsearch搜索引擎的索引创建方法,其特征在于,所述将所述索引配置发送到所述Elasticsearch节点信息中的Elasticsearch节点,以使Elasticsearch节点根据所述索引配置生成所述索引创建请求对应的索引,具体为:
将所述索引配置以及所述第二索引名发送到所述Elasticsearch节点信息中的Elasticsearch节点,以使Elasticsearch节点根据所述索引配置以及所述第二索引名生成所述待创建索引。
4.根据权利要求3所述的Elasticsearch搜索引擎的索引创建方法,其特征在于,还包括:
获取对目标索引中的数据进行增删改查操作的第一操作请求,其中,所述第一操作请求包括:资源组信息和所述目标索引的第一索引名;
确定所述第一操作请求中的资源组信息对应的Elasticsearch节点信息;
根据所述第一操作请求中的资源组信息以及所述目标索引的第一索引名确定所述目标索引的第二索引名;
根据所述第二索引名以及所述第一操作请求生成第二操作请求,并将所述第二操作请求发送到所述第一操作请求中的资源组信息对应的Elasticsearch节点信息中的Elasticsearch节点。
5.一种Elasticsearch搜索引擎的索引创建装置,其特征在于,包括:
索引创建请求获取单元,用于获取租户发送的索引创建请求,其中,所述索引创建请求包括:资源组信息,每个租户对应一个资源组;
节点确定单元,用于确定所述资源组信息对应的Elasticsearch节点信息;
索引配置生成单元,用于根据所述Elasticsearch节点信息生成索引配置,其中,所述索引配置用于对索引所使用的Elasticsearch节点进行限制,以此实现资源隔离;
索引创建信息发送单元,用于将所述索引配置发送到所述Elasticsearch节点信息中的Elasticsearch节点,以使Elasticsearch节点根据所述索引配置生成所述索引创建请求对应的索引;
节点变更请求获取单元,用于获取目标资源组的节点变更请求,其中,所述节点变更请求包括:节点变更信息;节点变更请求为新增目标资源组对应的Elasticsearch节点的请求、删除目标资源组对应的某个/些Elasticsearch节点的请求以及对目标资源组对应的某个/些Elasticsearch节点进行替换的请求;
索引查询单元,用于确定所述目标资源组对应的所有索引,其中,通过判断索引名的前缀与目标资源组是否相同,来查找目标资源组对应的所有索引,Elasticsearch集群中的索引的名称包含资源组信息前缀;
索引配置更新单元,用于根据所述节点变更信息更新所述目标资源组对应的所有索引的索引配置,从而完成对目标资源组的节点变更。
6.根据权利要求5所述的Elasticsearch搜索引擎的索引创建装置,其特征在于,所述索引创建请求还包括:待创建索引的第一索引名;
所述Elasticsearch搜索引擎的索引创建装置,还包括:
索引名生成单元,用于根据所述资源组信息以及所述待创建索引的第一索引名生成所述待创建索引的第二索引名。
7.根据权利要求6所述的Elasticsearch搜索引擎的索引创建装置,其特征在于,所述索引创建信息发送单元,具体用于将所述索引配置以及所述第二索引名发送到所述Elasticsearch节点信息中的Elasticsearch节点,以使Elasticsearch节点根据所述索引配置以及所述第二索引名生成所述待创建索引。
8.根据权利要求7所述的Elasticsearch搜索引擎的索引创建装置,其特征在于,还包括:
数据增删改查请求获取单元,用于获取对目标索引中的数据进行增删改查操作的第一操作请求,其中,所述第一操作请求包括:资源组信息和所述目标索引的第一索引名;
节点信息确定单元,用于确定所述第一操作请求中的资源组信息对应的Elasticsearch节点信息;
索引名确定单元,用于根据所述第一操作请求中的资源组信息以及所述目标索引的第一索引名确定所述目标索引的第二索引名;
操作请求发送单元,用于根据所述第二索引名以及所述第一操作请求生成第二操作请求,并将所述第二操作请求发送到所述第一操作请求中的资源组信息对应的Elasticsearch节点信息中的Elasticsearch节点。
9.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至4任一项所述的方法。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序在计算机处理器中执行时实现如权利要求1至4任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010229745.0A CN111428114B (zh) | 2020-03-27 | 2020-03-27 | Elasticsearch搜索引擎的索引创建方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010229745.0A CN111428114B (zh) | 2020-03-27 | 2020-03-27 | Elasticsearch搜索引擎的索引创建方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111428114A CN111428114A (zh) | 2020-07-17 |
CN111428114B true CN111428114B (zh) | 2024-04-09 |
Family
ID=71548983
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010229745.0A Active CN111428114B (zh) | 2020-03-27 | 2020-03-27 | Elasticsearch搜索引擎的索引创建方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111428114B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113568749B (zh) * | 2021-07-28 | 2023-09-05 | 新华智云科技有限公司 | 基于Elasticsearch集群的shard分配方法 |
CN114564485A (zh) * | 2022-04-28 | 2022-05-31 | 深圳竹云科技股份有限公司 | 基于Elastic Search的用户数据处理方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109063077A (zh) * | 2018-07-24 | 2018-12-21 | 新华三大数据技术有限公司 | 一种基于弹性搜索的数据访问方法及装置 |
CN109144994A (zh) * | 2017-06-19 | 2019-01-04 | 华为技术有限公司 | 索引更新方法、***及相关装置 |
CN110019200A (zh) * | 2017-09-30 | 2019-07-16 | 阿里巴巴集团控股有限公司 | 一种索引的建立、使用方法及装置 |
CN110569302A (zh) * | 2019-08-16 | 2019-12-13 | 苏宁云计算有限公司 | 一种基于lucene的分布式集群的物理隔离的方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9270546B2 (en) * | 2014-03-05 | 2016-02-23 | Software Ag | Systems and/or methods for on-demand repository bootstrapping at runtime in a scalable, distributed multi-tenant environment |
-
2020
- 2020-03-27 CN CN202010229745.0A patent/CN111428114B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109144994A (zh) * | 2017-06-19 | 2019-01-04 | 华为技术有限公司 | 索引更新方法、***及相关装置 |
CN110019200A (zh) * | 2017-09-30 | 2019-07-16 | 阿里巴巴集团控股有限公司 | 一种索引的建立、使用方法及装置 |
CN109063077A (zh) * | 2018-07-24 | 2018-12-21 | 新华三大数据技术有限公司 | 一种基于弹性搜索的数据访问方法及装置 |
CN110569302A (zh) * | 2019-08-16 | 2019-12-13 | 苏宁云计算有限公司 | 一种基于lucene的分布式集群的物理隔离的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111428114A (zh) | 2020-07-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10715485B2 (en) | Managing dynamic IP address assignments | |
CN102419770B (zh) | 文件共享***及实现文件共享的方法、文件索引服务设备 | |
US20180278675A1 (en) | Dynamically provisioning instances of a single-tenant application for multi-tenant use | |
US8214355B2 (en) | Small table: multitenancy for lots of small tables on a cloud database | |
CN103067433B (zh) | 一种分布式存储***的数据迁移方法、设备和*** | |
US10243919B1 (en) | Rule-based automation of DNS service discovery | |
CN103685590B (zh) | 获取ip地址的方法及*** | |
US11734248B2 (en) | Metadata routing in a distributed system | |
CN105138592A (zh) | 一种基于分布式架构的日志数据存储和检索方法 | |
CN111428114B (zh) | Elasticsearch搜索引擎的索引创建方法及装置 | |
US10013449B1 (en) | Validating and non-validating secondary indexes for a table in a non-relational data store | |
CN105045762A (zh) | 一种配置文件的管理方法及装置 | |
CN110569302A (zh) | 一种基于lucene的分布式集群的物理隔离的方法及装置 | |
US11461053B2 (en) | Data storage system with separate interfaces for bulk data ingestion and data access | |
US11108854B2 (en) | Peer-to-peer network for internet of things resource allocation operation | |
US10261949B2 (en) | Packed row representation for efficient network serialization with direct column indexing in a network switch | |
US20180293317A1 (en) | Prefix matching using distributed tables for storage services compatibility | |
CN110597808B (zh) | 分布式数据库表连接方法、装置、***、服务器及介质 | |
CN115878046A (zh) | 数据处理方法、***、装置、存储介质及电子设备 | |
CN114466031B (zh) | 一种cdn***节点配置方法、装置、设备及存储介质 | |
CN110798358A (zh) | 分布式服务标识方法、装置、计算机可读介质及电子设备 | |
US11188419B1 (en) | Namespace indices in dispersed storage networks | |
US11500700B2 (en) | Leasing prioritized items in namespace indices | |
US11514016B2 (en) | Paging row-based data stored as objects | |
CN117390078B (zh) | 数据处理方法、装置、存储介质和计算机设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |