本发明涉及数据处理,尤其涉及一种索引数据更新方法、装置、设备及存储介质。
背景技术:
1、随着数据库技术的不断发展,分布式检索引擎在各个领域场景下被广泛使用。当全量数据以一定的数据表结构或模式存入引擎索引后,索引的映射关系也随之被确定下来。在保持原有索引映射关系的情况下,以何种通用且高效的方式对索引文档中的数据进行更新成为亟待解决的问题。
2、目前,针对索引文档中索引数据更新的方式主要有两种:一种是基于post、delete或put等请求语句实现对索引文档中索引数据的修改、删除以及增加;另一种是将需要更新的数据以dataset或dataframe等写入方法更新到检索引擎的索引中。
3、然而,现有的索引文档的索引数据更新方式,存在无法精准的对索引数据进行更新的情况,以及存在索引数据更新时长较长,更新效率较低的问题。
技术实现思路
1、本发明提供了一种索引数据更新方法、装置、设备及存储介质,以实现对索引数据的准确更新,提高索引数据的更新效率。
2、根据本发明的一方面,提供了一种索引数据更新方法,所述方法包括:
3、获取待更新数据,并确定所述待更新数据对应的待更新索引文档;
4、确定所述待更新索引文档中,与所述待更新数据中的待更新字段分别对应的目标索引字段;
5、构建与所述待更新字段相对应的参考更新字段;
6、根据所述待更新字段的待更新字段值,基于所述待更新字段对应的目标索引字段的数据结构类型,确定所述待更新字段对应的参考更新字段的参考字段值;
7、根据所述待更新字段的待更新字段值和所述参考更新字段的参考字段值,对所述待更新索引文档的索引字段值进行数据更新。
8、可选的,所述根据所述待更新字段的待更新字段值,基于所述待更新字段对应的目标索引字段的数据结构类型,确定所述待更新字段对应的参考更新字段的参考字段值,包括:
9、若所述待更新字段对应的目标索引字段的数据结构类型为原子结构类型,则将所述待更新字段的待更新字段值,确定为所述待更新字段对应的参考更新字段的参考字段值。
10、上述技术方案通过将待更新字段的待更新字段值,直接确定为待更新字段对应的参考更新字段的参考字段值,实现了在目标索引字段的数据结构类型为原子结构类型的情况下,对参考更新字段的参考字段值的精准确定,从而为提高后续对索引数据的更新准确度奠定基础。
11、可选的,所述根据各所述待更新字段的待更新字段值,基于相应待更新字段对应的目标索引字段的数据结构类型,确定各所述待更新字段对应的参考更新字段的参考字段值,包括:
12、若所述待更新字段对应的目标索引字段的数据结构类型为复合结构类型,则确定所述复合结构类型对应的目标数据转换方式;
13、根据所述目标数据转换方式,对所述待更新字段的待更新字段值进行数据结构转换,得到转换字段值;
14、将所述转换字段值确定为所述待更新字段对应的参考更新字段的参考字段值。
15、上述技术方案通过确定复合结构类型对应的目标数据转换方式,根据目标数据转换方式,对待更新字段的待更新字段值进行数据结构转换,得到转换字段值,并将转换字段值确定为待更新字段对应的参考更新字段的参考字段值,实现了在目标索引字段的数据结构类型为复合结构类型的情况下,对参考更新字段的参考字段值的精准确定,从而为提高后续对索引数据的更新准确度奠定基础。
16、可选的,所述根据所述待更新字段的待更新字段值和所述参考更新字段的参考字段值,对所述待更新索引文档的索引字段值进行数据更新,包括:
17、确定所述待更新索引文档中与所述待更新字段对应的目标索引字段下是否存在索引字段值;
18、若存在,则确定所述待更新字段值与所述目标索引字段下的索引字段值是否一致;
19、若否,则采用所述待更新字段值,更新所述待更新索引文档中的目标索引字段下的索引字段值。
20、上述技术方案通过确定待更新索引文档中与待更新字段对应的目标索引字段下是否存在索引字段值;若存在,则确定待更新字段值与目标索引字段下的索引字段值是否一致;若否,则采用待更新字段值,更新待更新索引文档中的目标索引字段下的索引字段值。上述技术方案通过在更新索引字段值的过程中,考虑不同的数据更新场景,并在不同数据更新场景下,采用不同的数据更新手段进行更新,进一步提高了对索引数据的更新准确度,提高了对索引数据的更新效率。
21、可选的,在所述确定所述待更新索引文档中与所述待更新字段对应的目标索引字段下是否存在索引字段值之后,还包括:
22、若确定所述待更新索引文档中与所述待更新字段对应的目标索引字段下不存在索引字段值,则将所述参考更新字段的参考字段值,添加至所述目标索引字段下,以对所述待更新索引文档的索引字段值进行数据更新。
23、上述技术方案通过直接将参考更新字段的参考字段值,添加至目标索引字段下的方式,实现了在确定待更新索引文档中与待更新字段对应的目标索引字段下不存在索引字段值的场景下,对待更新索引文档的索引字段值进行数据更新。
24、可选的,所述采用所述待更新字段值,更新所述待更新索引文档中的目标索引字段下的索引字段值,包括:
25、若所述目标索引字段的数据结构类型为原子结构类型,则采用所述待更新字段值,替换所述待更新索引文档中的目标索引字段下的索引字段值。
26、上述技术方案通过采用待更新字段值直接替换待更新索引文档中的目标索引字段下的索引字段值的方式,实现了对目标索引字段的数据结构类型为原子结构类型情况下索引数据的更新,提高了对索引数据的更新效率和更新准确度。
27、可选的,所述采用所述待更新字段值,更新所述待更新索引文档中的目标索引字段下的索引字段值,包括:
28、若所述目标索引字段的数据结构类型为复合结构类型,则确定所述复合结构类型对应的数据插入方式;
29、根据所述待更新字段值,基于所述数据插入方式,更新所述待更新索引文档中的目标索引字段下的索引字段值。
30、上述技术方案通过确定复合结构类型对应的数据插入方式,并根据待更新字段值,基于数据插入方式,更新待更新索引文档中的目标索引字段下的索引字段值,实现了对目标索引字段的数据结构类型为复合结构类型情况下索引数据的更新,提高了对索引数据的更新效率和更新准确度。
31、根据本发明的另一方面,提供了一种索引数据更新装置,所述装置包括:
32、待更新数据获取模块,用于获取待更新数据,并确定所述待更新数据对应的待更新索引文档;
33、索引字段确定模块,用于确定所述待更新索引文档中,与所述待更新数据中的待更新字段分别对应的目标索引字段;
34、参考字段构建模块,用于构建与所述待更新字段相对应的参考更新字段;
35、参考字段值确定模块,用于根据所述待更新字段的待更新字段值,基于所述待更新字段对应的目标索引字段的数据结构类型,确定所述待更新字段对应的参考更新字段的参考字段值;
36、索引数据更新模块,用于根据所述待更新字段的待更新字段值和所述参考更新字段的参考字段值,对所述待更新索引文档的索引字段值进行数据更新。
37、根据本发明的另一方面,提供了一种电子设备,所述电子设备包括:
38、至少一个处理器;以及
39、与所述至少一个处理器通信连接的存储器;其中,
40、所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行本发明任一实施例所述的索引数据更新方法。
41、根据本发明的另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现本发明任一实施例所述的索引数据更新方法。
42、本发明实施例技术方案通过获取待更新数据,并确定待更新数据对应的待更新索引文档;确定待更新索引文档中,与待更新数据中的待更新字段分别对应的目标索引字段;构建与待更新字段相对应的参考更新字段;根据待更新字段的待更新字段值,基于待更新字段对应的目标索引字段的数据结构类型,确定待更新字段对应的参考更新字段的参考字段值;根据待更新字段的待更新字段值和参考更新字段的参考字段值,对待更新索引文档的索引字段值进行数据更新。上述技术方案通过在更新索引数据的过程中考虑待更新字段对应目标索引字段的数据结构类型的方式,实现了对索引数据的精准更新;通过引入并构建与待更新字段相对应的参考更新字段,并结合参考更新字段实现对索引数据的更新,降低了索引数据更新时长,从而提高了索引数据的更新效率。
43、应当理解,本部分所描述的内容并非旨在标识本发明的实施例的关键或重要特征,也不用于限制本发明的范围。本发明的其它特征将通过以下的说明书而变得容易理解。