如何通过pgsync从Postgres导数据到Elasticsearch时修改_type参数
pgsync修改Elasticsearch默认_type配置方案
前置说明
pgsync默认适配Elasticsearch 7+版本,而ES7+官方已废弃自定义_type能力,统一默认值为_doc。仅当你需要兼容ES6及更早版本、或是有特殊旧系统适配需求时,再进行自定义_type配置。
具体操作步骤
- 方案1:修改
schema.json配置文件
在你的配置文件索引根节点下新增type字段,填入自定义type值即可,示例如下:{ "index": "你的业务索引名称", "type": "自定义_type值", "nodes": { "table": "对应的Postgres表名", "columns": ["id", "字段1", "字段2"] } } - 方案2:启动命令行指定(仅适配pgsync 1.x旧版本)
执行同步命令时追加--type参数指定自定义值:pgsync --config schema.json --type 自定义_type值
验证方法
同步完成后执行ES单条数据查询命令,查看返回结果中命中数据的_type字段即可确认是否生效:
curl -X GET "http://<你的ES服务地址>/<索引名>/_search?size=1&pretty"
注意:Elasticsearch 8.0及以上版本已完全移除
_type相关支持,强制配置自定义值会直接报错,若非必要场景不建议修改默认配置。
内容的提问来源于stack exchange,提问作者David Amirkhanov
相关产品推荐
相关产品推荐

