云原生多模数据库 Lindorm宽表引擎推出一种新的索引类型,称为搜索索引(SearchIndex)。本文介绍使用开源HBase API和Solr API访问并使用搜索索引。
背景信息
搜索索引通过融合Lindorm宽表引擎(兼容开源HBase API)和Lindorm搜索引擎(兼容开源Solr API)对外提供统一易用的访问接口,可以满足丰富的查询需求。标准使用方式是通过Lindorm SQL,为了方便更多的用户,也可以通过开源客户端使用搜索索引,有关搜索索引的具体介绍请参见搜索索引介绍。
如果您是通过Lindorm SQL创建的表,请通过SQL API使用搜索索引。
前提条件
已安装Java环境,要求安装JDK 1.8及以上版本。
已将客户端IP添加至Lindorm白名单中,具体操作请参见设置白名单。
操作步骤
进入HBase Shell访问环境,具体操作请参见通过Lindorm Shell访问宽表引擎。
在HBase Shell创建宽表,表名为
testTable
。create 'testTable', {NAME => 'f'}
创建索引表,索引表的表名为
democollection
。您可以通过以下任一方式创建索引表。通过搜索引擎的集群管理系统创建索引表,具体操作请参见创建索引表。
通过Search Shell创建索引表,具体操作请参见通过Search Shell连接并使用搜索引擎。
映射宽表列和索引列。例如将表
testTable
中的f:name
(列族为f,列名为name)这一列映射到索引表democollection
的name_s
这一列。在HBase Shell解压文件的
bin
目录中创建JSON文件(文件名为schema
),将以下代码复制至JSON文件中。{ "sourceNamespace": "default", "sourceTable": "testTable", "targetIndexName": "democollection", "indexType": "SOLR", "rowkeyFormatterType": "STRING", "fields": [ { "source": "f:name", "targetField": "name_s", "type": "STRING" } ] }
说明JSON文件中的参数说明请参见配置列映射。
进入HBase Shell环境,执行以下命令完成宽表列和索引表列的映射关系。
alter_external_index 'testTable', 'schema.json'
说明关于宽表列和索引表列的映射管理操作请参见管理列映射。
在表
testTable
中写入一条数据。宽表和索引表的列映射关系配置完成后,实时写入宽表中的数据将自动同步到索引表中。对于宽表中的历史数据,需要手动执行全量构建索引才可以完成数据同步,具体操作请参见构建全量数据索引。put 'testTable', 'row1', 'f:name', 'foo'
查询索引数据。
通过搜索引擎的集群管理系统查询索引数据,获取宽表主键
row1
,具体操作请参见查询索引数据。进入HBase Shell环境,执行以下命令查询宽表数据。
get 'testTable','row1'
返回内容如下:
COLUMN CELL f:name timestamp=1644462597661, value=foo 1 row(s) Took 0.0942 seconds
通过LTS页面查看实时数据的同步任务状态。宽表和索引表的列映射关系配置完成后,实时写入宽表中的数据将自动同步到索引表中。
登录LTS操作页面。在Lindorm控制台上单击目标实例ID,左侧导航栏选择
,在数据同步管理 UI后单击ClusterManager公网或ClusterManager专有网络。左侧导航栏选择
。说明实时数据同步的延迟指标可以通过云监控控制台设置,最大任务延迟的报警阈值可以设置为600000毫秒,具体操作请参见云产品监控。
- 本页导读 (1)