不同操作触发的索引重建,根据用户配置的数据源的不同,其导入数据的来源以及继承老版本数据的方式也大有区别,为防止用户因误操作导致的部分数据无法同步引起的线上问题,本文对此进行详细说明。
索引重建导数原理
触发索引重建的操作:定时索引重建、线下变更。
应用类型 | 某用户的数据来源 | 定时索引重建 | 线下变更 |
应用类型 | 某用户的数据来源 | 定时索引重建 | 线下变更 |
高性能检索版 | RDS/polarDB | RDS/polarDB全量 | RDS/polarDB全量 |
RDS/polarDB+DTS增量 | RDS/polarDB全量 +DTS增量 | RDS/polarDB全量 +DTS增量 | |
MaxCompute全量+API推送增量 | MaxCompute全量 | MaxCompute数据源全量 +索引重建中API增量数据 | |
无数据源 | (不支持) | (不支持) |
索引重建操作
对于用户上传的数据(包括通过各个数据源的同步过来的数据)OpenSearch会在系统中保存一份镜像。如果涉及到应用结构变更或者需要导入全量数据的情况,则需要进行索引重建操作。目前有4种操作会触发索引重建:
定时索引重建:一般用于MaxCompute等数据源每天导入全量的用户数据。
线下变更:修改应用结构、索引或属性结构等等时触发索引重建。
定时索引重建
创建定时索引重建任务,可以每天在指定时间自动执行一次索引重建。
进入开放搜索控制台,左上角选择OpenSearch-高性能检索版,在应用管理页单击应用的详情:
单击索引重建。
选择希望定时触发索引重建任务的时间。触发定时任务的最小周期为天,即每天执行一次。
由于开放搜索一个应用最多对应两个版本(线上应用/线下应用),当应用中已经有2个版本(线上应用/线下应用)时,定时索引重建将自动删除线下版本,手动索引重建操作,需要删除线下版本。
当定时索引重建任务完成后,新生成的版本(线下应用),会自动切换到线上,被替换的应用版本将在[8,16]小时后自动删除。
索引重建流程及进度
索引重建流程为:数据导入>数据处理>索引构建。
从数据源导入数据后,先进行数据处理,然后发给build服务做索引构建,全量导入的build任务是定期执行一轮,一轮的时间大约是30分钟左右。因此,在文档数很少的情况下,也可能需要一些时间完成全量任务。控制台的索引重建进度为阶段性展示。
使用“线下变更”生成一个新的线下应用后,实例会在控制台应用详情页里显示线上和线下两个应用版本。
当存在线上/线下应用时,只有线上应用提供搜索服务(当使用appname调用search接口时,默认搜索的版本)。
当存在线上/线下应用时,线下变更/索引重建功能将不可用,此时线上和线下应用版本只能保留一个,请确认将需要保留的应用版本发布上线,然后将不需要的线下应用版本删除即可。
应用删除后,不可恢复。
- 本页导读 (1)
- 索引重建导数原理
- 索引重建操作
- 定时索引重建
- 索引重建流程及进度