构建全量数据索引

宽表和索引表的列映射关系配置完成后,实时写入宽表中的数据将自动同步到索引表中。对于宽表中的全量数据,需要手动执行全量构建索引才可以完成数据同步。本文介绍通过构建索引完成全量数据同步。

前提条件

  • 已安装Java环境,要求安装JDK 1.8及以上版本。

  • 已通过开源客户端访问搜索索引并完成宽表和索引表的列映射配置文件,具体操作请参见通过开源客户端使用搜索索引

  • Lindorm实例的LTS引擎为3.6.10及以上版本。

查看全量数据同步任务

  1. 进入Shell访问环境,具体操作请参见通过Lindorm Shell访问宽表引擎

  2. 执行以下命令为宽表testTable的全量数据构建索引,命令是异步执行的。

    build_external_index 'testTable'
  3. 查看全量数据同步任务的进度。全量数据的构建由LTS完成,可以在LTS页面中查看。

    1. 登录LTS操作页面。在Lindorm控制台上单击目标实例ID,左侧导航栏选择宽表引擎 > 搜索索引(SearchIndex),在LTS WebUI 访问区域中单击ClusterManager

    2. 左侧导航栏选择Lindorm Search > 全量同步

      查看任务进度
  4. 可选:取消宽表的全量数据构建索引。全量数据构建过程中是异步执行的,如果您需要停止全量数据同步任务,可以执行以下操作。

    cancel_build_external_index 'testTable'

通过指定时间范围全量同步数据

说明

Lindorm实例的LTS引擎为3.6.10及以上版本。

  1. 登录LTS操作页面。在Lindorm控制台上单击目标实例ID,左侧导航栏选择宽表引擎 > 搜索索引(SearchIndex),在LTS WebUI 访问区域中单击ClusterManager

  2. 单击页面右上角配置管理

  3. 将浏览器地址中的conf.jsp修改为cm.jsp并回车,进入配置信息修改页面。

    配置信息
  4. 输入配置名配置值

    • 配置名文本框中输入search.index.build.timerange

    • 配置值文本框中配置索引表和时间范围,格式为:索引表名:时间列,时间单位,开始的时间值,结束的时间值。以myIndex:create_time,ms,1654486200000,1654488000000为例,表示对于索引表myIndex按照create_time时间列的值进行过滤,将时间范围为[1654486200000,1654488000000]内的数据重新构建索引。说明如下:

      配置项

      说明

      示例

      索引表名

      输入索引表的名称。

      myIndex

      时间列

      指定时间列。如果没有时间列,可以使用默认列update_version_l,单位为毫秒。

      create_time

      时间单位

      时间列的时间单位,默认为毫秒。可配置为秒和毫秒。

      ms

      开始的时间值

      重新构建索引开始时间的毫秒值。

      1654486200000,表示时间为2022年6月6号11点30分。

      结束的时间值

      重新构建索引结束时间的毫秒值。

      1654488000000,表示时间为2022年6月6号12点00分。

      说明

      如果需要设置多个索引表的重新构建配置值,配置值之间使用半角分号(;)分隔。

  5. 单击修改

  6. 执行以下命令为宽表testTable的全量数据构建索引。

    build_external_index 'testTable'
  7. 等待全量索引任务执行完成,将配置名为search.index.build.timerange,配置值修改为空并单击修改,如下图所示。

    设置配置值