索引生成方法、装置、存储介质及电子设备制造方法及图纸

技术编号:36898778 阅读:17 留言:0更新日期:2023-03-18 09:19
本公开涉及一种索引生成方法、装置、存储介质及电子设备,包括:遍历protobuf定义文件中的所有字段;将包括目标注解的字段作为第一字段保存于第一列表中;根据第一列表中的所包括的字段确定索引字段列表,并根据索引字段列表配置索引。这样,能够根据该protobuf定义文件中的目标注解来自动进行索引的生成,相比于直接人工手动对索引进行配置,不仅不会出现索引字段与protobuf定义文件中的字段名不同而无法进行索引的情况,保证了索引字段的准确性,而且还能够保证不会出现漏生成部分字段的索引或多生成部分字段的索引的问题,并且还能够满足按需索引的需求,可靠性和配置效率大大提高。提高。提高。

【技术实现步骤摘要】
索引生成方法、装置、存储介质及电子设备


[0001]本公开涉及索引
,具体地,涉及一种索引生成方法、装置、存储介质及电子设备。

技术介绍

[0002]在服务平台与各业务方之间的进行数据交互时,各业务方的业务数据定义一般各不相同且经常会随着业务方的实际需求而发生变化,因此需要保证服务平台存储的业务数据定义随着业务定义而同步变化的能力。在业务方使用protobuf定义主要的数据格式的情况下,服务平台方通常需要建立对业务方的业务数据定义中各个字段的索引,以便快速搜索数据记录。现有技术中一般都通过手动对protobuf定义文件中的各字段建立索引,但人工误差大,容易出现遗漏或错误,从而导致索引与protobuf定义的字段不对应,而全量建立索引也即将protobuf定义中的所有字段都建立索引或者不配置任何索引字段分别会带来过多的性能开销和查询效率低下的问题。

技术实现思路

[0003]本公开的目的是提供一种索引生成方法、装置、存储介质及电子设备,能够根据该protobuf定义文件中的目标注解来自动进行索引的生成,相比于直接人工手动对索引进行配置,不仅不会出现索引字段与protobuf定义文件中的字段名不同而无法进行索引的情况,保证了索引字段的准确性,而且还能够保证不会出现漏生成部分字段的索引或多生成部分字段的索引的问题,并且还能够满足按需索引的需求,可靠性和配置效率大大提高。
[0004]为了实现上述目的,本公开提供一种索引生成方法,所述方法包括:
[0005]遍历protobuf定义文件中的所有字段;
[0006]将包括目标注解的字段作为第一字段保存于第一列表中;
[0007]根据所述第一列表中的所包括的字段确定索引字段列表,并根据所述索引字段列表配置索引。
[0008]可选地,所述根据所述第一列表中的所包括的字段确定索引字段列表,并根据所述索引字段列表配置索引包括:
[0009]获取当前存储的索引中所包括的索引字段列表作为第二列表;
[0010]在所述第二列表与所述第一列表之间存在字段元素差异的情况下,将所述第一列表作为更新后的索引字段列表,并根据所述更新后的索引字段列表配置所述索引。
[0011]可选地,所述根据所述第一列表中的所包括的字段确定索引字段列表,并根据所述索引字段列表配置索引包括:
[0012]在所述第一列表不为空的情况下,根据所述第一列表中的所包括的字段确定所述索引字段列表,并根据所述索引字段列表配置索引。
[0013]可选地,所述遍历protobuf定义文件中的所有字段包括:
[0014]在包括所述protobuf定义文件的系统初始化时,遍历所述protobuf定义文件中的
所有字段。
[0015]可选地,所述目标注解为通过限定修饰符optional定义在所述protobuf定义文件中。
[0016]本公开还提供一种索引生成装置,所述装置包括:
[0017]遍历模块,用于遍历protobuf定义文件中的所有字段;
[0018]保存模块,用于将包括目标注解的字段作为第一字段保存于第一列表中;
[0019]配置模块,用于根据所述第一列表中的所包括的字段确定索引字段列表,并根据所述索引字段列表配置索引。
[0020]可选地,所述配置模块包括:
[0021]获取子模块,用于获取当前存储的索引中所包括的索引字段列表作为第二列表;
[0022]第一配置子模块,用于在所述第二列表与所述第一列表之间存在字段元素差异的情况下,将所述第一列表作为更新后的索引字段列表,并根据所述更新后的索引字段列表配置所述索引。
[0023]可选地,所述配置模块包括:
[0024]第二配置子模块,用于在所述第一列表不为空的情况下,根据所述第一列表中的所包括的字段确定所述索引字段列表,并根据所述索引字段列表配置索引。
[0025]本公开还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现以上所述方法的步骤。
[0026]本公开还提供一种电子设备,包括:
[0027]存储器,其上存储有计算机程序;
[0028]处理器,用于执行所述存储器中的所述计算机程序,以实现以上所述方法的步骤。
[0029]通过上述技术方案,能够根据该protobuf定义文件中的目标注解来自动进行索引的生成,相比于直接人工手动对索引进行配置,不仅不会出现索引字段与protobuf定义文件中的字段名不同而无法进行索引的情况,保证了索引字段的准确性,而且还能够保证不会出现漏生成部分字段的索引或多生成部分字段的索引的问题,并且还能够满足按需索引的需求,可靠性和配置效率大大提高。
[0030]本公开的其他特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
[0031]附图是用来提供对本公开的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本公开,但并不构成对本公开的限制。在附图中:
[0032]图1是根据本公开一示例性实施例示出的一种索引生成方法的流程图。
[0033]图2是根据本公开又一示例性实施例示出的一种索引生成方法的流程图。
[0034]图3是根据本公开一示例性实施例示出的一种索引生成装置的结构框图。
[0035]图4是根据本公开又一示例性实施例示出的一种索引生成装置的结构框图。
[0036]图5是根据一示例性实施例示出的一种电子设备的框图。
[0037]图6是根据一示例性实施例示出的一种电子设备的框图。
具体实施方式
[0038]以下结合附图对本公开的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本公开,并不用于限制本公开。
[0039]图1是根据本公开一示例性实施例示出的一种索引生成方法的流程图。如图1所示,所述方法包括步骤101至步骤103。
[0040]在步骤101中,遍历protobuf定义文件中的所有字段。
[0041]在步骤102中,将包括目标注解的字段作为第一字段保存于第一列表中。
[0042]在步骤103中,根据所述第一列表中的所包括的字段确定索引字段列表,并根据所述索引字段列表配置索引。
[0043]该protobuf定义文件也即后缀为.proto的定义文件,用于描述业务中需要使用的一个和多个消息的数据结构,各消息的数据结构中通常都包括多个字段,如下方给出的示例:
[0044]message person{
[0045]required stringname=1[(fieldStore)=ES_INDEX];
[0046]required int32 id=2;
[0047]required stringemail=3;
[0048]}
[0049]其中,person即为一个消息的数据结构,包括n本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种索引生成方法,其特征在于,所述方法包括:遍历protobuf定义文件中的所有字段;将包括目标注解的字段作为第一字段保存于第一列表中;根据所述第一列表中的所包括的字段确定索引字段列表,并根据所述索引字段列表配置索引。2.根据权利要求1所述的方法,其特征在于,所述根据所述第一列表中的所包括的字段确定索引字段列表,并根据所述索引字段列表配置索引包括:获取当前存储的索引中所包括的索引字段列表作为第二列表;在所述第二列表与所述第一列表之间存在字段元素差异的情况下,将所述第一列表作为更新后的索引字段列表,并根据所述更新后的索引字段列表配置所述索引。3.根据权利要求1所述的方法,其特征在于,所述根据所述第一列表中的所包括的字段确定索引字段列表,并根据所述索引字段列表配置索引包括:在所述第一列表不为空的情况下,根据所述第一列表中的所包括的字段确定所述索引字段列表,并根据所述索引字段列表配置索引。4.根据权利要求1所述的方法,其特征在于,所述遍历protobuf定义文件中的所有字段包括:在包括所述protobuf定义文件的系统初始化时,遍历所述protobuf定义文件中的所有字段。5.根据权利要求1所述的方法,其特征在于,所述目标注解为通过限定修饰符optional定义在所述protobuf定义文件...

【专利技术属性】
技术研发人员:季尚
申请(专利权)人:北京三快在线科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1