一种基于时间戳的ElasticSearch索引创建与更新系统及方法技术方案

技术编号:38124786 阅读:9 留言:0更新日期:2023-07-08 09:28
本发明专利技术提供了一种基于时间戳的ElasticSearch索引创建与更新系统及方法,所述系统包括数据接入模块、索引创建模块、更新发现模块和索引更新模块,数据接入模块用于配置数据源,接入待搜索业务数据;索引创建模块用于创建ElasticSearch索引库;更新发现模块用于设置数据索引更新频率,调度运行数据更新任务,发现接入的待搜索业务数据是否有数据更新;索引更新模块用于在ElasticSearch索引库中更新对应的数据索引。所述方法提供了通过数据源信息的配置自动创建ElasticSearch索引,及时更新ElasticSearch中对应的数据索引内容,避免了数据源需要改造原有业务逻辑来主动通知ElasticSearch来改变变动的索引数据,而且能够及时高效地更新,有效保障了搜索数据的保鲜性和及时性。保鲜性和及时性。保鲜性和及时性。

【技术实现步骤摘要】
一种基于时间戳的ElasticSearch索引创建与更新系统及方法


[0001]本申请属于数据索引
,尤其涉及一种基于时间戳的ElasticSearch索引创建与更新系统及方法。

技术介绍

[0002]随着大数据技术的兴起,业务系统收集的数据量越来越大,变化的业务数据能够及时被可搜索可发现的需求越来越迫切。而数据索引更新方法,通常是需要业务系统主动通知ElasticSearch数据的变化信息或者需要业务系统的数据库有对应的更新标识字段,申请号为201810907489.9的中国专利主要从系统实现的角度描述了针对文件的索引的检索的方法,通过上传文件到系统的文件管理模块以及在文件管理模块中操作数据来及时发现新数据以及发现变化的数据,从而及时更新相应的数据索引。申请号为202010977565.0的中国专利主要从查询树搜索索引,从索引的查询层面提出了优化的方法。申请号为201910792472.8的中国专利通过一种支持多种检索模式的ElasticSearch数据的查询方法,通过DSL查询语句实现对ElasticSearch的复杂查询。这些方法对业务系统原始的数据存储方式的要求高或者需要改造原有的业务系统增加数据更新通知的对外接口,不利于业务数据搜索发现,影响数据价值的运用。

技术实现思路

[0003]本专利技术的目的在于提供一种基于时间戳的ElasticSearch索引创建与更新系统及方法,本系统及方法实现通过比较数据的时间戳与索引的生成时间来判断数据内容是否已经发生变化,并针对变化的数据内容及时更新相应的索引数据,实现对原有业务系统的无侵入,达到支撑数据搜索发现的及时性与保鲜性的效果。
[0004]为了解决上述技术问题,第一方面公开了一种基于时间戳的ElasticSearch索引创建与更新系统,包括数据接入模块、索引创建模块、更新发现模块和索引更新模块,
[0005]所述数据接入模块,用于根据业务需求,配置数据源,接入待搜索业务数据;
[0006]所述索引创建模块,用于根据待搜索业务数据,创建ElasticSearch索引库;
[0007]所述更新发现模块,用于设置数据索引更新频率,调度运行数据更新任务,发现接入的待搜索业务数据是否有数据更新;
[0008]所述索引更新模块,用于当更新发现模块发现接入的待搜索业务数据有数据更新时,在ElasticSearch索引库中更新对应的数据索引。
[0009]进一步地,所述数据源类型包括数据库数据源和文件数据源,所述文件包括文档、图片、音频和视频;所述数据接入模块包括数据库接入单元和文件数据接入单元,
[0010]所述数据库接入单元,用于配置数据库数据源,在数据库数据源中设置待搜索的数据表范围,数据表范围包括待搜索的数据表名称以及表字段信息;
[0011]所述文件数据接入单元,用于配置文件数据源,在文件数据源中设置待搜索的文
档、图片、音频和视频数据。
[0012]进一步地,所述更新发现模块包括数据库数据更新发现单元、文件更新发现单元和更新任务调度单元,
[0013]所述更新任务调度单元,用于设置数据索引更新频率,所述更新频率包括每分钟执行、每小时执行、每天执行和自定义的执行频率;根据更新频率调度运行数据更新任务,所述数据更新任务用于启动所述数据库数据更新发现单元和文件更新发现单元;
[0014]所述数据库数据更新发现单元,用于针对数据库数据源的表数据,通过查询表的元数据信息,获得该表数据的最后更新时间,若该表数据的最后更新时间晚于记录的索引数据生成时间,则判定该表的数据内容发生变化;
[0015]所述文件更新发现单元,用于针对文件数据源的文件数据,通过读取文件的时间戳,若文件的时间戳晚于索引数据记录的时间,则判定该文件的内容发生变化。
[0016]进一步地,所述索引创建模块创建ElasticSearch索引库时,若数据源类型为数据库表类型,则针对每张表在ElasticSearch中建立相应的索引,索引内容包括对应表名、注释名、表字段名称以及相应表的内容,并记录索引的生成时间;若数据源类型为文件中的文档类型,则抽取文档的内容和文件名信息创建为ElasticSearch中的索引;若数据源类型为文件中的图片、音频和视频数据,则抽取图片、音频和视频的文件名称创建为ElasticSearch中的索引,并记录索引的生成时间;
[0017]所述索引更新模块在ElasticSearch索引库中更新对应的数据索引时,针对数据库表数据,覆盖写入表的数据内容;针对文档数据,更新相应的文件名和文件内容数据;针对图片、音频和视频数据,更新相应的文件名称。
[0018]第二方面公开了一种基于时间戳的ElasticSearch索引创建与更新方法,包括以下步骤:
[0019]步骤1:根据业务需求,配置待搜索的数据源信息,选择待搜索的数据范围;
[0020]步骤2:针对所述待搜索的数据,针对不同的数据源类型,分别创建相应的ElasticSearch索引数据;
[0021]步骤3:根据数据时效性需求,针对接入的不同数据源,设置相应的数据索引更新频率;
[0022]步骤4:按照设置的数据索引更新频率,调度运行数据更新任务,获取数据源中是否有更新数据的信息;
[0023]步骤5:针对更新数据,在ElasticSearch索引库中更新对应的数据索引,支撑搜索数据的保鲜性和及时性。
[0024]进一步地,步骤1中接入的数据源类型包括数据库类型和文件类型,数据库类型的数据源包括mysql、达梦和oracle关系型的数据库,文件类型的数据源包括文档、图片、音频和视频文件类型的数据。通过配置数据源的信息,连接相应数据源,在数据源中设置待搜索的数据范围,从而进行搜索数据接入,为后续的进行数据的搜索发现提供支撑。
[0025]若所述数据源的类型为数据库:则在数据库数据源中设置待搜索的数据表范围,数据表范围包括待搜索数据表名称以及表字段信息,数据表数据为结构化的表数据;
[0026]若所述数据源的类型为文件:在文件数据源中设置待搜索的文档、图片、音频和视频数据,文件数据为非结构化的文件数据。
[0027]进一步地,步骤2中针对配置的可搜索的数据,根据数据的类型自动创建ElasticSearch中的搜索索引数据。若为数据库表类型,则抽取表名、字段名、注释名和表内容创建索引,并记录索引的生成时间;若为文档类型,则抽取文档的文件名和文档内容来创建索引;若为图片、音频和视频类型数据则抽取文件名称来创建索引,同时记录索引的生成时间。
[0028]进一步地,步骤3中针对不同的数据源设置数据更新发现的频率包括设置每分钟执行、每小时执行、每天执行和自定义的执行频率。
[0029]进一步地,步骤4中根据设置的更新频率轮询数据的变化信息。针对结构化的数据库表数据,通过查询表的元数据信息,发现该表数据的最后更新时间,若发现该表数据的最后更新时间晚于记录的索引本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于时间戳的ElasticSearch索引创建与更新系统,其特征在于,包括数据接入模块、索引创建模块、更新发现模块和索引更新模块,所述数据接入模块,用于根据业务需求,配置数据源,接入待搜索业务数据;所述索引创建模块,用于根据待搜索业务数据,创建ElasticSearch索引库;所述更新发现模块,用于设置数据索引更新频率,调度运行数据更新任务,发现接入的待搜索业务数据是否有数据更新;所述索引更新模块,用于当更新发现模块发现接入的待搜索业务数据有数据更新时,在ElasticSearch索引库中更新对应的数据索引。2.根据权利要求1所述的一种基于时间戳的ElasticSearch索引创建与更新系统,其特征在于,所述数据源类型包括数据库数据源和文件数据源,所述文件包括文档、图片、音频和视频;所述数据接入模块包括数据库接入单元和文件数据接入单元,所述数据库接入单元,用于配置数据库数据源,在数据库数据源中设置待搜索的数据表范围,数据表范围包括待搜索的数据表名称以及表字段信息;所述文件数据接入单元,用于配置文件数据源,在文件数据源中设置待搜索的文档、图片、音频和视频数据。3.根据权利要求2所述的一种基于时间戳的ElasticSearch索引创建与更新系统,其特征在于,所述更新发现模块包括数据库数据更新发现单元、文件更新发现单元和更新任务调度单元,所述更新任务调度单元,用于设置数据索引更新频率,所述更新频率包括每分钟执行、每小时执行、每天执行和自定义的执行频率;根据更新频率调度运行数据更新任务,所述数据更新任务用于启动所述数据库数据更新发现单元和文件更新发现单元;所述数据库数据更新发现单元,用于针对数据库数据源的表数据,通过查询表的元数据信息,获得该表数据的最后更新时间,若该表数据的最后更新时间晚于记录的索引数据生成时间,则判定该表的数据内容发生变化;所述文件更新发现单元,用于针对文件数据源的文件数据,通过读取文件的时间戳,若文件的时间戳晚于索引数据记录的时间,则判定该文件的内容发生变化。4.根据权利要求3所述的一种基于时间戳的ElasticSearch索引创建与更新系统,其特征在于,所述索引创建模块创建ElasticSearch索引库时,若数据源类型为数据库表类型,则针对每张表在ElasticSearch中建立相应的索引,索引内容包括对应表名、注释名、表字段名称以及相应表的内容,并记录索引的生成时间;若数据源类型为文件中的文档类型,则抽取文档的内容和文件名信息创建为ElasticSearch中的索引;若数据源类型为文件中的图片、音频和视频数据,则抽取图片、音频和视频的文件名称创建为ElasticSearch中的索引,并记录索引的生成时间;所述索引更新模块在ElasticSearch索引库中更新对应的数据索引时,针对数据库表数据,覆盖写入表的数据内容;针对文档数据,更新相应的文件名和文件内容数据;针对图片、音频和视频数据,更新相应的文件名称。5.一种基于时间戳的ElasticSearch索引创建与更新方法,其特征在...

【专利技术属性】
技术研发人员:戚可生苏晓威后弘毅
申请(专利权)人:中国电子科技集团公司第二十八研究所
类型:发明
国别省市:

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

1