通过开源API访问Lindorm搜索索引需要将宽表的数据同步至索引表,同步的方法是建立宽表和索引表的列映射,本文介绍列映射的配置项说明。
使用限制
如果您对搜索索引的索引名和索引列名有自定义需求,则需要通过Lindorm Shell管理搜索索引 。
配置示例
宽表和索引表的列映射采用JSON文件实现,列映射的配置示例如下,将宽表testTable的数据同步至索引表democollection,宽表的f1:name这一列映射到索引表的f1_name_s这一列,宽表的f1:age这一列映射到索引表的f1_age_i这一列。
{
  "sourceNamespace": "default",
  "sourceTable": "testTable",
  "targetIndexName": "democollection",
  "indexType": "ES",
  "rowkeyFormatterType": "STRING",
  "fields": [
    {
      "source": "f1:name",
      "targetField": "name_s",
      "type": "STRING"
    },
     {
      "source": "f1:age",
      "targetField": "age_i",
      "type": "INT"
    }
  ]
}请确保列映射中的每一列在搜索引擎中均已显式定义,且列名、数据类型与列映射一致。
配置项说明
宽表和索引表的列映射配置参数说明如下:
参数  | 说明  | 
sourceNamespace  | 宽表的Namespace名,如果宽表没有Namespace,默认Namespace名为default。  | 
sourceTable  | 必选项,宽表的表名。  | 
targetIndexName  | 必选项,Lindorm搜索引擎的索引表名。  | 
indexType  | 默认配置为ES。  | 
rowkeyFormatterType  | 表示宽表中每行主键映射到索引表主键ID(数据类型为String)的方式,支持以下两种: 
  | 
fields  | 指定映射的列和类型,由以下三个参数组成。如果有多个列的配置使用半角逗号(,)分隔。 
  |