本文介绍如何在OpenSearch行业算法版和高性能检索版实例中配置分库分表的数据源。
一般用户的分库分表分两种情况:
|
database1 |
|
table1、table2、table3、table4... |
|
database1 |
database2 |
database3... |
|
table1、table2、table3、table4... |
table1、table2、table3、table4... |
table1、table2、table3、table4... |
这两种情况的配置步骤大致相同,请参考下文进行配置。
注意:
-
无论是单库多表还是多库多表,分表的表名都需要有统一的规则,比如table_1、table_2、table_3 ... 依次叠加,同时需要和库中的其他表区分开,比如分表的名字是table_goods_1、table_goods_2、table_goods_3、库中还有表名为table_goods_cate_1,如果有此种情况将无法区分非分表的表
-
多库多表最大可配置10个库
配置步骤
用户可通过点击“线下变更”或者“配置应用”后,参考以下操作步骤。
-
通过数据源创建应用结构(RDS/PolarDB)此处以RDS为例。
在「选择创建应用结构方式」中单击通过数据源创建,弹出选择数据源对话框,选择数据源类型为 RDS,然后单击+ 新建数据库。
输入正确的RDS实例ID、数据库名、用户名和密码点击连接
-
选择其中一张分表即可(由于分库分表的表结构相同,此步骤旨在映射结构,因此选择一张表即可)
在数据表列表中,勾选其中一张分表(如 product_1),然后单击确定完成选择。
-
微调表结构:(可按需设置表的字段类型,详情可参考字段类型对应关系)
选择分表后,页面将该表(如 product_1)标记为主表,并列出所有字段及其默认类型(均为 TEXT),用户可在此逐一调整字段类型。右侧映射关系显示该表与 OpenSearch 应用的对应关系,可单击查看映射关系确认。
注意:主表和主键是必选项同时主键只支持int和literal类型。
在索引结构配置页面中,索引字段以表格形式展示,包含索引名称、包含字段、分析方式(可选中文 - 通用分析、关键字等)和使用示例列,可通过 + 按钮添加索引或通过删除链接移除索引。属性字段和默认展示字段在同一页面的独立区块中配置。
索引:索引是一种用于加速文档检索速度的数据结构,一个用户可以创建多个索引。
属性:可以在filter、sort、aggregate、distinct子句使用,用来实现过滤统计等功能。(这里属性的作用,是OpenSearch专有的)
默认展示字段:每一次搜索请求中,应用结构部分字段的召回都可以通过指定“默认展示字段”来限制
5.1. 修改数据源,此处由于在映射表结构时,只选择了一张表,因此需要对已配置的数据源进行修改,点击“编辑”:
在数据源列表页中,找到目标数据源所在行,单击该行右侧的编辑按钮进入数据源配置编辑页面。
选择数据库,使用前缀+通配符的形式选中表点击回车
例如在选择数据表搜索框中输入 product_* 并按回车,筛选出匹配的分表后,通过 >> 按钮将所需表移至已选择栏,单击确定。
5.2. 查看字段映射是否正确
字段映射页面显示已连接 product_* 数据表,OpenSearch 表字段与 RDS 源字段呈一一对应映射关系(如 id(主键)、good_code、title、unit_price 等共 7 个字段),确认映射正确即可。
5.3. 字段映射界面点击内容转换的“+”可以设置数据源插件说明:
可选的插件类型包括 HTMLTagRemover、JsonKeyValueExtractor、KeyValueExtractor 和 StringCatenateExtractor。以 StringCatenateExtractor 为例,该插件将多个指定字段按照指定顺序拼接成一个字符串,字段列表默认以逗号分隔;若目标字段类型为 GEO_POINT,指定顺序务必为经度字段、纬度字段,分隔符请设置为空格。配置时需填写 字段列表(必填)和 字段连接符,完成后单击 保存。
5.4. 若需要数据源实时同步功能,可以参考:DTS实时同步
在数据同步方式列的下拉框中选择DTS数据订阅实例,然后在DTS数据订阅实例列单击选择以关联对应的 DTS 数据订阅实例。配置完成后单击完成。
补充:如果是多库多表的情况,按上述步骤再添加数据即可:
多库多表配置完成后,数据源列表中包含同一实例(如 rm-bp119nx91mm469uw4)、同一数据库(如 opensearch_2)下的多条记录,表名分别以通配符形式填写(如 product_* 和 t*),数据同步方式均选择 DTS数据订阅实例。
-
最后点击完成等待版本构建完毕即可
版本构建完成后,版本管理页面显示当前版本的构建进度及版本状态(如正常),表示索引构建成功,应用可正常提供搜索服务。