CN116028598A - 一种基于es的文件生成方法、装置及计算机可读介质 - Google Patents
一种基于es的文件生成方法、装置及计算机可读介质 Download PDFInfo
- Publication number
- CN116028598A CN116028598A CN202310330191.7A CN202310330191A CN116028598A CN 116028598 A CN116028598 A CN 116028598A CN 202310330191 A CN202310330191 A CN 202310330191A CN 116028598 A CN116028598 A CN 116028598A
- Authority
- CN
- China
- Prior art keywords
- file
- target index
- query
- entity
- preset
- 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.)
- Granted
Links
Images
Classifications
-
- 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
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种基于ES的文件生成方法、装置及计算机可读介质,所述方法应用于客户端;该方法一具体实施方式包括:首先,获取用户的查询请求;查询请求至少包括:ES地址、预设ES查询条件以及预设实体种类;其次,确定与ES地址对应的搜索引擎;并从搜索引擎中查询与预设ES查询条件对应的目标索引以及目标索引对应的封装属性;最后,基于目标索引以及目标索引对应的封装属性,生成与预设实体种类对应的实体类文件。本实施例整个ES查询过程中用户不需要掌握ES语法即可编辑ES查询条件;而且在针对查询结果输出时也不需要编码即可自动输出实体类文件;由此,降低了ES查询的查询难度,提高了ES查询的查询效率。
Description
技术领域
本发明属于计算机技术领域,尤其涉及一种基于ES的文件生成方法、装置及计算机可读介质。
背景技术
Elaticsearch,简称为ES,ES是一个开源的高扩展的分布式全文检索引擎,它可以近乎实时的存储、检索数据;ES也使用Java开发并使用全文搜索引擎作为其核心来实现所有索引和搜索的功能,但是它的目的是通过简单的表现层状态转化接口来隐藏Lucene的复杂性,从而让全文搜索变得简单。在Java开发当中经常会用到ES查询。
现有ES查询,通常是用户先基于ES语法编写ES查询条件,之后在查询过程中对还需要对实体文件进行编码,从而实现ES查询。为此,现有ES查询存在如下缺陷:首先,用户需要学习ES语法,若用户不熟悉ES语法就无法实现ES查询,由此增加了ES查询的查询难度;其次,在ES查询时为了生成用户所需要的实体文件,通常还需要用户基于ES查询的输出结果进行编码以获得需要的实体文件,例如:模型Model类文件、服务Service类文件,或控制Controller类文件。然而,在生成Model类文件、Service类文件,以及Controller类文件时经常会出现很多重复的编码,由此不仅增加了用户编码的工作量,而且降低了ES查询的查询效率。
发明内容
针对现有技术存在的上述问题,本发明实施例提供了一种基于ES的文件生成方法、装置及计算机可读介质,能够有效降低ES查询的查询难度,提高ES查询的查询效率。
根据本发明实施例第一方面,提供一种基于ES的文件生成方法,应用于客户端;所述方法包括:获取用户的查询请求;所述查询请求至少包括:ES地址、预设ES查询条件以及预设实体种类;确定与所述ES地址对应的搜索引擎;从所述搜索引擎中查询与所述预设ES查询条件对应的目标索引以及所述目标索引对应的封装属性;基于所述目标索引以及所述目标索引对应的封装属性,生成与所述预设实体种类对应的实体类文件。
根据本发明实施例第二方面,提供一种基于ES的文件生成装置,应用于客户端;所述装置包括:第一获取模块,用于获取用户的查询请求;所述查询请求至少包括:ES地址、预设ES查询条件以及预设实体种类;确定模块,用于确定与所述ES地址对应的搜索引擎;查询模块,用于从所述搜索引擎中查询与所述预设ES查询条件对应的目标索引以及所述目标索引对应的封装属性;生成模块,用于基于所述目标索引以及所述目标索引对应的封装属性,生成与所述预设实体种类对应的实体类文件。
根据本发明实施例第三方面,还提供一种电子设备,所述电子设备包括:一个或多个处理器;存储器,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如第一方面所述的方法。
根据本发明实施例第四方面,还提供一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现如第一方面所述的方法。
本发明实施例提供一种基于ES的文件生成方法、装置及计算机可读介质,所述方法应用于客户端;该方法包括:首先,获取用户的查询请求;所述查询请求至少包括:ES地址、预设ES查询条件以及预设实体种类;其次,确定与所述ES地址对应的搜索引擎;并从所述搜索引擎中查询与所述预设ES查询条件对应的目标索引以及所述目标索引对应的封装属性;最后,基于所述目标索引以及所述目标索引对应的封装属性,生成与所述预设实体种类对应的实体类文件。本实施例客户端基于查询请求能够从ES地址对应的搜索引擎中查询与查询请求对应的目标索引以及封装属性,并基于目标索引以及封装属性生成实体类文件。本实施例整个ES查询过程中用户不需要掌握ES语法即可编辑ES查询条件;并且在针对查询结果输出时不需要编码即可自动输出实体类文件;由此,不仅降低了ES查询的查询难度,而且提高了ES查询的查询效率。
附图说明
后文将参照附图以示例性而非限制性的方式详细描述本发明的一些具体实施例。附图中相同的附图标记标示了相同或类似的部件或部分。本领域技术人员应该理解,这些附图未必是按比例绘制的。附图中:
图1为本发明一实施例提供的基于ES的文件生成方法的流程示意图;
图2为本发明另一实施例提供的基于ES的文件生成方法的流程示意图;
图3为本发明另一实施例中生成与预设实体种类对应的实体类文件的流程示意图;
图4为本发明应用实施例提供的基于ES的文件生成方法的示意图;
图5为本发明一实施例提供的基于ES的文件生成装置的结构示意图。
具体实施方式
为使本发明的目的、特征、优点能够更加的明显和易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而非全部实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,为本发明一实施例提供的基于ES的文件生成方法的流程示意图。
一种基于ES的文件生成方法,应用于客户端;所述方法至少包括如下步骤:
S101,获取用户的查询请求;查询请求至少包括:ES地址、预设ES查询条件以及预设实体种类;
S102,确定与ES地址对应的搜索引擎;
S103,从搜索引擎中查询与预设ES查询条件对应的目标索引以及目标索引对应的封装属性;
S104,基于目标索引以及目标索引对应的封装属性,生成与预设实体种类对应的实体类文件。
具体地,客户端基于用户对用户界面内查询请求选项的触发,获取用户针对ES的查询请求;然后客户端基于查询请求中提供的ES地址,连接与ES地址对应的搜索引擎;之后客户端将预设ES查询条件发送搜索引擎。搜索引擎基于预设ES查询条件查询对应的目标索引以及目标索引对应的封装属性;并且搜索引擎将目标索引以及目标索引对应的封装属性返回至客户端。客户端根据目标索引以及目标索引对应的封装属性,调用J代码模型生成器JcodeModel生成与预设实体种类对应的实体类文件。
在这里,实体类文件可以是模型Model类文件、服务Service类文件,或控制Controller类文件。若用户在用户界面输入的预设实体种类为模型Model类,则对应生成的就是Model类文件;若用户在用户界面输入的预设实体种类分别为模型Model类、服务Service类以及控制Controller类,则对应生成的就是Model类文件、Service类文件以及Controller类文件。
需要说明的是,封装属性用于指示将原有属性按照预设命名方式进行封装而形成的。每个索引或目标索引均对应至少一个封装属性。
还需要说明的是,ES地址可以是指定的ES网址,也可以是用户登录ES账号和密码。
本实施例客户端在获取用户的查询请求后连接与ES地址对应的ES搜索引擎,之后从ES搜索引擎中查询与预设ES查询条件对应的目标索引以及目标索引对应的封装属性,最后基于目标索引以及目标索引对应的封装属性,生成与预设实体种类对应的实体类文件。本实施例用户在客户端输入查询请求就能自动从ES搜索引擎中查询与查询请求对应的实体类文件;解决了现有技术中由于用户不熟悉ES语法和/或编码导致用户无法使用ES搜索引擎进行相关搜索,从而降低了ES查询的查询难度,提高了ES查询的查询效率。
在优选的一实施方式中,所述预设ES查询条件包括ES索引的查询条件,以及ES索引对应的属性命名方式;所述从所述搜索引擎中查询与所述预设ES查询条件对应的目标索引以及所述目标索引对应的封装属性,包括:从所述搜索引擎中查询与所述ES索引的查询条件对应的目标索引;从所述搜索引擎中查询与所述目标索引对应的所有属性;针对所有属性中任一属性:基于所述ES索引对应的属性命名方式,对所述属性进行封装,生成封装属性。
在这里,属性命名方式包括驼峰和非驼峰的命名方式。
例如:当ES索引的查询条件为数学成绩大于等于80分的学生时;首先,客户端将所获取的ES索引的查询条件发送至ES搜索引擎;然后ES搜索引擎查询数学成绩大于等于80分的学生,得到目标学生有小王、小张和小李;之后ES搜索引擎查询与小王对应的所有属性,与小张对应的所有属性,以及与小李对应的所有属性;最后针对目标学生中任一属性:ES搜索引擎按照查询请求中属性命名方式,对该属性进行封装,生成封装属性。ES搜索引擎将所有封装属性返回至客户端。
本实施例通过服务端的ES搜索引擎提供能够查询的所有属性和属性接口,从而实现了客户端通过服务端查询与预设ES查询条件对应的所有属性;由此,不仅减少了客户端的计算量,而且提高了ES查询效率。
在优选的另一实施方式中,所述预设实体种类包括:实体类文件存储路径以及实体类型;所述基于所述目标索引以及所述目标索引对应的封装属性,生成与所述预设实体种类对应的实体类文件,包括:基于所述目标索引以及所述目标索引对应的所有封装属性,调用J代码模型生成器JcodeModel生成与所述实体类型对应的实体类文件;按照所述实体类文件存储路径,将所述实体类文件存储于对应的空间中。
具体地,在java开发场景中,客户端基于查询请求中预设实体种类,调用JcodeModel生成与预设实体类型对应的实体类文件;并将生成的实体类文件按照实体类文件存储路径存储于客户端;由此,用户在获得目标索引的所有封装属性后不需要对实体类文件进行编码就能够自动生成实体类文件,提高了ES查询的效率。
在优选的又一实施方式中,当所述实体类型包括:模型Model类、服务Service类,以及控制Controller类时;所述基于所述目标索引以及所述目标索引对应的所有封装属性,调用J代码模型生成器JcodeModel生成与所述实体类型对应的实体类文件,包括:基于所述目标索引以及所述目标索引对应的所有封装属性,调用JcodeModel生成模板文件;基于所述模型Model类对所述模板文件进行调整处理,生成Model类文件;基于所述服务Service类对所述模板文件进行调整处理,并向调整后文件中添加所述Model类文件以及所述搜索引擎,生成Service类文件;基于所述控制Controller类对所述模板文件进行调整处理,并向调整后文件中添加所述Service类文件,生成Controller类文件。
具体地,客户端调用JcodeModel后利用JcodeModel对目标索引以及目标索引对应的所有封装属性进行编码处理,生成模板文件;然后基于Model类对模板文件进行调整,生成Model类文件;Model文件中包括VO类和DTO类;其中,在DTO类中存储有动态编写预设ES查询条件的抽象方法。之后客户端基于Service类对模板文件进行调整处理,并向调整后文件中添加Model类文件以及搜索引擎,从而生成Service类文件。最后客户端基于Controller类对模板文件进行调整处理,并向调整后文件中添加Service类文件,生成Controller类文件。
由此,针对不同实体类文件,客户端只需要调用JcodeModel就能实现自动编码生成模板文件;之后基于实体类型对模板文件进行调整处理,即可生成对应的实体类文件;由此,用户不用对实体类文件进行编码,就能够获取与实体类型对应的实体类文件;从而对实体类文件生成实现了自动化,解决了现有技术中在根据目标索引对应的属性生成不同实体类文件时由于重复编码导致ES查询效率降低的问题,从而不仅提高了ES查询的查询效率,而且在自动化生成实体类文件过程中提高了实体类文件的准确率。
在优选的又一实施方式中,所述的方法还包括:获取对象文件的生成请求;基于所述生成请求,从所述Controller类文件中获取对应的赋值操作指令;响应于所述赋值操作指令,基于所述服务Service类文件对所述模型Model类文件执行对应的赋值操作,生成对象文件。
具体地,基于用户对客户端用户界面的触发,客户端获取对象文件的生成请求。例如,生成请求为小王;Model类文件为学生;从学生对应的Controller类文件中获取对应赋值操作指令;根据该赋值操作指令,基于学生对应的服务Service类文件,对学生的属性进行赋值,从而得到小王。
由此,根据客户端生成的实体类文件以及对象文件的生成请求,能够生成具体的对象文件,提高了ES查询应用的普适性。
在优选的再一实施方式中,所述确定与所述ES地址对应的搜索引擎,包括:获取用户登录ES的账号和密码;基于所述用户登录ES的账号和密码,所述客户端与所述ES对应的搜索引擎建立通信连接。由此,能够将客户端与服务端的ES搜索引擎建立通信连接,用户无需掌握ES语法,就能在客户端进行直接查询,从而方便用户在客户端的ES查询,解决了现有技术中由于用户不会ES语法导致用户无法使用ES查询的问题,从而降低了ES查询难度,提高了ES查询效率。
如图2所示,为本发明另一实施例提供的基于ES的文件生成方法的流程示意图。
一种基于ES的文件生成方法,应用于客户端;所述方法至少包括如下步骤:
S201,获取用户登录ES的账号和密码;
S202,基于用户登录ES的账号和密码,客户端与ES对应的搜索引擎建立通信连接;
S203,获取用户的查询请求;查询请求至少包括:ES地址、预设ES查询条件以及预设实体种类;预设ES查询条件包括ES索引的查询条件,以及ES索引对应的属性命名方式;
S204,从搜索引擎中查询与ES索引的查询条件对应的目标索引;
S205,从搜索引擎中查询与目标索引对应的所有属性;
S206,针对所有属性中任一属性:基于ES索引对应的属性命名方式,对属性进行封装,生成封装属性;
S207,基于目标索引以及目标索引对应的封装属性,生成与预设实体种类对应的实体类文件。
如图3所示,为本发明另一实施例中生成与预设实体种类对应的实体类文件的流程示意图。
生成与预设实体种类对应的实体文件,至少包括如下步骤:
S301,基于目标索引以及目标索引对应的所有封装属性,调用JcodeModel生成模板文件;
S302,基于模型Model类对模板文件进行调整处理,生成Model类文件;
S303,基于服务Service类对模板文件进行调整处理,并向调整后文件中添加Model类文件以及搜索引擎,生成Service类文件;
S304,基于控制Controller类对模板文件进行调整处理,并向调整后文件中添加所述Service类文件,生成Controller类文件;
S305,按照实体类文件存储路径,将Model类文件、Service类文件以及Controller类文件存储于对应的空间中。
在这里,Model类文件、Service类文件以及Controller类文件均是存储于客户端的不同位置,由此方便了后期生成对象文件时调用。
下面结合具体应用对本实施例中基于ES的文件生成方法进行详细说明。
如图4所示,为本发明应用实施例提供的基于ES的文件生成方法的示意图。
客户端作为生成代码工具,ES是分布在服务端的搜索引擎。
生成代码工具获取用户的查询请求,并将查询请求发送至服务端的ES搜索引擎,ES搜索引擎将查询结果反馈至客户端;客户端基于查询结果输出代码文件,并将代码文件保存。
客户端具体实现逻辑如下所述:
客户端获取用户登录ES的账号和密码;并基于用户登录ES的账号和密码,客户端与所述ES对应的搜索引擎建立通信连接;然后客户端获取用户的查询请求;所述查询请求至少包括:ES地址、预设ES查询条件以及预设实体种类;并从所述搜索引擎中查询与ES索引的查询条件对应的目标索引。客户端从搜索引擎中查询与目标索引对应的所有属性;并针对所有属性中任一属性:基于所述ES索引对应的属性命名方式,对所述属性进行封装,生成封装属性。客户端基于所述目标索引以及所述目标索引对应的所有封装属性,调用JcodeModel生成模板文件;并基于所述模型Model类对所述模板文件进行调整处理,生成Model类文件;然后基于所述服务Service类对所述模板文件进行调整处理,并向调整后文件中添加所述Model类文件以及所述搜索引擎,生成Service类文件;之后基于所述控制Controller类对所述模板文件进行调整处理,并向调整后文件中添加所述Service类文件,生成Controller类文件;最后按照所述实体类文件存储路径,将Model类文件、Service类文件以及Controller类文件存储于对应的空间中。
例如:客户端基于用户对用户界面内查询请求选项的触发,获取用户的查询请求;查询请求至少包括:学校的ES账号和ES密码、数学成绩大于等于80分的学生以及Model类。然后,客户端基于学校的ES账号和ES密码,链接服务端的ES搜索引擎,并将ES索引的查询条件“数学成绩大于等于80分的学生”,以及ES索引对应的属性命名方式“驼峰”发送至服务端的ES搜索引擎。之后,ES搜索引擎查询数学成绩大于等于80分的目标学生有小王、小张和小李;并查询与小王对应的所有属性,与小张对应的所有属性,以及与小李对应的所有属性;之后将查询到的所有属性以“驼峰”形式进行封装。最后服务端将目标学生以及对应的所有封装属性发送至客户端;客户端基于目标学生以及对应的所有封装属性,调用JcodeModel生成模板文件;并基于Model类对所述模板文件进行调整处理,生成Model类文件;之后客户端将Model类文件存储于与Model类文件存储路径对应的空间中。
本实施例基于ES的文件生成方法还可以应用于产业治理领域。
本发明各个实施例的实现基础是通过具有处理器功能的设备进行程序化的处理实现的。因此在工程实际中,可以将本发明各个实施例的技术方案及其功能封装成各种模块。
如图5所示,为本发明一实施例提供的基于ES的文件生成装置的结构示意图。
一种基于ES的文件生成装置,所述装置500应用于客户端;所述装置500包括:第一获取模块501,用于获取用户的查询请求;所述查询请求至少包括:ES地址、预设ES查询条件以及预设实体种类;确定模块502,用于确定与所述ES地址对应的搜索引擎;查询模块503,用于从所述搜索引擎中查询与所述预设ES查询条件对应的目标索引以及所述目标索引对应的封装属性;生成模块504,用于基于所述目标索引以及所述目标索引对应的封装属性,生成与所述预设实体种类对应的实体类文件。
在优选的实施方式中,所述预设ES查询条件包括ES索引的查询条件,以及ES索引对应的属性命名方式;所述查询模块包括:第一查询单元,用于从所述搜索引擎中查询与所述ES索引的查询条件对应的目标索引;第二查询单元,用于从所述搜索引擎中查询与所述目标索引对应的所有属性;封装单元,用于针对所有属性中任一属性:基于所述ES索引对应的属性命名方式,对所述属性进行封装,生成封装属性。
在优选的实施方式中,所述预设实体种类包括:实体类文件存储路径以及实体类型;生成模块包括:生成单元,用于基于所述目标索引以及所述目标索引对应的所有属性,调用J代码模型生成器JcodeModel生成与所述实体类型对应的实体类文件;存储单元,用于按照所述实体类文件存储路径,将所述实体类文件存储于对应的空间中。
在优选的实施方式中,当所述实体类型包括:模型Model类、服务Service类,以及控制Controller类时;所述生成单元包括:第一生成子单元,用于基于所述目标索引以及所述目标索引对应的所有封装属性,调用JcodeModel生成模板文件;第二生成子单元,用于基于所述模型Model类对所述模板文件进行调整处理,生成Model类文件;第三生成子单元,用基于所述服务Service类对所述模板文件进行调整处理,并向调整后文件中添加所述Model类文件以及所述搜索引擎,生成Service类文件;第四生成单元,用于基于所述控制Controller类对所述模板文件进行调整处理,并向调整后文件中添加所述Service类文件,生成Controller类文件。
在优选的实施方式中,所述装置还包括:第二获取模块,用于获取对象文件的生成请求;第三获取模块,用于基于所述生成请求,从所述Controller类文件中获取对应的赋值操作指令;赋值模块,用于从所述Controller类文件中获取赋值操作指令;执行模块,用于响应于所述赋值操作指令,基于所述服务Service类文件对所述模型Model类文件执行对应的赋值操作,生成对象文件。
在优选的实施方式中,确定模块包括:获取单元,用于获取用户登录ES的账号和密码;确定单元,用于基于所述用户登录ES的账号和密码,所述客户端与所述ES对应的搜索引擎建立通信连接。
上述装置可执行本发明一实施例所提供的基于ES的文件生成方法,具备执行基于ES的文件生成方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本发明一实施例所提供的基于ES的文件生成方法。
本发明还提供一种电子设备,包括:处理器;用于存储所述处理器可执行指令的存储器;所述处理器,用于从所述存储器中读取所述可执行指令,并执行所述指令以实现本发明所述的基于ES的文件生成方法。
除了上述方法和设备以外,本申请的实施例还可以是计算机程序产品,其包括计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述“示例性方法”部分中描述的根据本申请各种实施例的方法中的步骤。
所述计算机程序产品可以以一种或多种程序设计语言的任意组合来编写用于执行本申请实施例操作的程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如Java、C++等,还包括常规的过程式程序设计语言,诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。
此外,本申请的实施例还可以是计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述“示例性方法”部分中描述的根据本申请如下各实施例的方法中的步骤。
所述计算机可读存储介质可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以包括但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
以上结合具体实施例描述了本申请的基本原理,但是,需要指出的是,在本申请中提及的优点、优势、效果等仅是示例而非限制,不能认为这些优点、优势、效果等是本申请的各个实施例必须具备的。另外,上述公开的具体细节仅是为了示例的作用和便于理解的作用,而非限制,上述细节并不限制本申请为必须采用上述具体的细节来实现。
本申请中涉及的器件、装置、设备、系统的方框图仅作为例示性的例子并且不意图要求或暗示必须按照方框图示出的方式进行连接、布置、配置。如本领域技术人员将认识到的,可以按任意方式连接、布置、配置这些器件、装置、设备、系统。诸如“包括”、“包含”、“具有”等等的词语是开放性词汇,指“包括但不限于”,且可与其互换使用。这里所使用的词汇“或”和“和”指词汇“和/或”,且可与其互换使用,除非上下文明确指示不是如此。这里所使用的词汇“诸如”指词组“如但不限于”,且可与其互换使用。
还需要指出的是,在本申请的装置、设备和方法中,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本申请的等效方案。
提供所公开的方面的以上描述以使本领域的任何技术人员能够做出或者使用本申请。对这些方面的各种修改对于本领域技术人员而言是非常显而易见的,并且在此定义的一般原理可以应用于其他方面而不脱离本申请的范围。因此,本申请不意图被限制到在此示出的方面,而是按照与在此公开的原理和新颖的特征一致的最宽范围。
为了例示和描述的目的已经给出了以上描述。此外,此描述不意图将本申请的实施例限制到在此公开的形式。尽管以上已经讨论了多个示例方面和实施例,但是本领域技术人员将认识到其某些变型、修改、改变、添加和子组合。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (10)
1.一种基于ES的文件生成方法,其特征在于,应用于客户端;所述方法包括:
获取用户的查询请求;所述查询请求至少包括:ES地址、预设ES查询条件以及预设实体种类;
确定与所述ES地址对应的搜索引擎;
从所述搜索引擎中查询与所述预设ES查询条件对应的目标索引以及所述目标索引对应的封装属性;
基于所述目标索引以及所述目标索引对应的封装属性,生成与所述预设实体种类对应的实体类文件。
2.根据权利要求1所述的方法,其特征在于,所述预设ES查询条件包括ES索引的查询条件,以及ES索引对应的属性命名方式;
所述从所述搜索引擎中查询与所述预设ES查询条件对应的目标索引以及所述目标索引对应的封装属性,包括:
从所述搜索引擎中查询与所述ES索引的查询条件对应的目标索引;
从所述搜索引擎中查询与所述目标索引对应的所有属性;
针对所有属性中任一属性:基于所述ES索引对应的属性命名方式,对所述属性进行封装,生成封装属性。
3.根据权利要求1所述的方法,其特征在于,所述预设实体种类包括:实体类文件存储路径以及实体类型;
所述基于所述目标索引以及所述目标索引对应的封装属性,生成与所述预设实体种类对应的实体类文件,包括:
基于所述目标索引以及所述目标索引对应的所有封装属性,调用J代码模型生成器JcodeModel生成与所述实体类型对应的实体类文件;
按照所述实体类文件存储路径,将所述实体类文件存储于对应的空间中。
4.根据权利要求3所述的方法,其特征在于,当所述实体类型包括:模型Model类、服务Service类,以及控制Controller类时;所述基于所述目标索引以及所述目标索引对应的所有封装属性,调用J代码模型生成器JcodeModel生成与所述实体类型对应的实体类文件,包括:
基于所述目标索引以及所述目标索引对应的所有封装属性,调用JcodeModel生成模板文件;
基于所述模型Model类对所述模板文件进行调整处理,生成Model类文件;
基于所述服务Service类对所述模板文件进行调整处理,并向调整后文件中添加所述Model类文件以及所述搜索引擎,生成Service类文件;
基于所述控制Controller类对所述模板文件进行调整处理,并向调整后文件中添加所述Service类文件,生成Controller类文件。
5.根据权利按要求4所述的方法,其特征在于,还包括:
获取对象文件的生成请求;
基于所述生成请求,从所述Controller类文件中获取对应的赋值操作指令;
响应于所述赋值操作指令,基于所述服务Service类文件对所述模型Model类文件执行对应的赋值操作,生成对象文件。
6.根据权利要求1所述的方法,其特征在于,所述确定与所述ES地址对应的搜索引擎,包括:
获取用户登录ES的账号和密码;
基于所述用户登录ES的账号和密码,所述客户端与所述ES对应的搜索引擎建立通信连接。
7.一种基于ES的文件生成装置,其特征在于,应用于客户端;所述装置包括:
第一获取模块,用于获取用户的查询请求;所述查询请求至少包括:ES地址、预设ES查询条件以及预设实体种类;
确定模块,用于确定与所述ES地址对应的搜索引擎;
查询模块,用于从所述搜索引擎中查询与所述预设ES查询条件对应的目标索引以及所述目标索引对应的封装属性;
生成模块,用于基于所述目标索引以及所述目标索引对应的封装属性,生成与所述预设实体种类对应的实体类文件。
8.根据权利要求7所述的装置,其特征在于,所述预设ES查询条件包括ES索引的查询条件,以及ES索引对应的属性命名方式;
所述查询模块包括:第一查询单元,用于从所述搜索引擎中查询与所述ES索引的查询条件对应的目标索引;
第二查询单元,用于从所述搜索引擎中查询与所述目标索引对应的所有属性;
封装单元,用于针对所有属性中任一属性:基于所述ES索引对应的属性命名方式,对所述属性进行封装,生成封装属性。
9.根据权利要求7所述的装置,其特征在于,
所述预设实体种类包括:实体类文件存储路径以及实体类型;
所述生成模块包括:生成单元,用于基于所述目标索引以及所述目标索引对应的所有属性,调用J代码模型生成器JcodeModel生成与所述实体类型对应的实体类文件;存储单元,用于按照所述实体类文件存储路径,将所述实体类文件存储于对应的空间中。
10.一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现如权利要求1-6中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310330191.7A CN116028598B (zh) | 2023-03-30 | 2023-03-30 | 一种基于es的文件生成方法、装置及计算机可读介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310330191.7A CN116028598B (zh) | 2023-03-30 | 2023-03-30 | 一种基于es的文件生成方法、装置及计算机可读介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116028598A true CN116028598A (zh) | 2023-04-28 |
CN116028598B CN116028598B (zh) | 2023-05-30 |
Family
ID=86089778
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310330191.7A Active CN116028598B (zh) | 2023-03-30 | 2023-03-30 | 一种基于es的文件生成方法、装置及计算机可读介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116028598B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110413734A (zh) * | 2019-07-25 | 2019-11-05 | 万达信息股份有限公司 | 一种医疗服务的智能搜索系统及方法 |
CN111176973A (zh) * | 2018-11-13 | 2020-05-19 | 北京京东尚科信息技术有限公司 | 测试方法、系统、电子设备和计算机可读介质 |
CN112506486A (zh) * | 2020-12-15 | 2021-03-16 | 康键信息技术(深圳)有限公司 | 搜索系统建立方法、装置、电子设备及可读存储介质 |
CN114138830A (zh) * | 2021-11-15 | 2022-03-04 | 紫金诚征信有限公司 | 一种大数据海量数据秒级查询方法、装置及计算机介质 |
CN115408582A (zh) * | 2022-09-30 | 2022-11-29 | 阿里巴巴(中国)有限公司 | 数据搜索方法、装置、电子设备及存储介质 |
-
2023
- 2023-03-30 CN CN202310330191.7A patent/CN116028598B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111176973A (zh) * | 2018-11-13 | 2020-05-19 | 北京京东尚科信息技术有限公司 | 测试方法、系统、电子设备和计算机可读介质 |
CN110413734A (zh) * | 2019-07-25 | 2019-11-05 | 万达信息股份有限公司 | 一种医疗服务的智能搜索系统及方法 |
CN112506486A (zh) * | 2020-12-15 | 2021-03-16 | 康键信息技术(深圳)有限公司 | 搜索系统建立方法、装置、电子设备及可读存储介质 |
CN114138830A (zh) * | 2021-11-15 | 2022-03-04 | 紫金诚征信有限公司 | 一种大数据海量数据秒级查询方法、装置及计算机介质 |
CN115408582A (zh) * | 2022-09-30 | 2022-11-29 | 阿里巴巴(中国)有限公司 | 数据搜索方法、装置、电子设备及存储介质 |
Non-Patent Citations (4)
Title |
---|
2NACL: "关于ES的Restful入门操作及利用java完成简单搜索引擎的设计", Retrieved from the Internet <URL:https://blog.csdn/qq_41936805/artcle/details/102735639> * |
HUANG HUANG等: "Analysis on spatial distribution model of monomer Internet bars in China\'s mainland", 《2015 23RD INTERNATIONAL CONFERENCE ON GEOINFORMATICS》, pages 1 - 6 * |
喻凯: "基于搜索引擎的地理编码系统的设计与实现", 《中国优秀硕士学位论文全文数据库》, pages 008 - 38 * |
张嘉伟: "基于增强语义与信任度的实体链接及扩容技术研究", 《中国优秀硕士学位论文全文数据库》, pages 138 - 1413 * |
Also Published As
Publication number | Publication date |
---|---|
CN116028598B (zh) | 2023-05-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20160171978A1 (en) | Voice recognition system and construction method thereof | |
CN111506579B (zh) | 一种智能合约代码的生成方法、程序及设备 | |
TWI762851B (zh) | 塊鏈式帳本中的資料驗證方法、系統、裝置及設備 | |
CN110362593A (zh) | 一种数据查询方法、装置、设备及存储介质 | |
CN110647564A (zh) | Hive建表方法、电子装置及计算机可读存储介质 | |
CN110633959A (zh) | 基于图结构的审批任务创建方法、装置、设备及介质 | |
CN108959294B (zh) | 一种访问搜索引擎的方法和装置 | |
CN117521625A (zh) | 问答方法、装置、电子设备及介质 | |
CN118114771A (zh) | 可信执行环境中的函数工具调用方法及装置、介质、设备 | |
KR102481162B1 (ko) | 사물 인터넷에서의 구독 데이터 푸시 방법 및 장치, 그 디바이스 및 저장 매체 | |
CN118132597A (zh) | Sql语法转换方法、装置、存储介质及电子设备 | |
CN116028598B (zh) | 一种基于es的文件生成方法、装置及计算机可读介质 | |
KR102389034B1 (ko) | 음성 인터랙션 방법, 장치, 기기 및 저장 매체 | |
CN110750295B (zh) | 一种信息处理方法,装置,电子设备和存储介质 | |
CN112486492A (zh) | 页面生成方法、装置、存储介质及电子设备 | |
US20170085713A1 (en) | Adjustable dual-tone multi-frequency phone system | |
CN114840574A (zh) | 数据查询方法、服务器、节点及存储介质 | |
CN111966709B (zh) | 一种数据查询方法、装置及电子设备 | |
WO2015003596A1 (en) | Systems and methods for configuring matching rules related to voice input commands | |
CN114925120A (zh) | 保险业务信息查询方法及相关设备 | |
CN112614490A (zh) | 生成语音指令的方法、装置、介质、设备、系统及车辆 | |
CN112579308A (zh) | 任务处理方法及系统 | |
CN106570143B (zh) | 一种发送响应对象的方法和装置 | |
CN114338747B (zh) | 支持设备自定义上报数据报文的云端场景控制系统及方法 | |
CN117555533B (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 |