微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

亚马逊数据库迁移服务 - elasticsearch

如何解决亚马逊数据库迁移服务 - elasticsearch

我们已经建立了一个带有 json 类型字段的 postgres 数据库,它应该同步到 elastic 以获得更好的搜索性能。 json 对于对象数组非常复杂,因此我们需要使用嵌套数据类型定义 elasticsearch 映射。我们还定义了一个elasticsearch json 处理器,它转换potgres json 字段中的json 字符串(数据库迁移服务将其作为字符串处理)。

{
  "description" : "parses content as json","processors" : [
    {
    "json" : {
        "field" : "content","add_to_root": true
    }
    }
  ]
}

当使用从邮递员到 es 的转义 json 运行示例发布请求时,它可以工作(此示例发布请求(尝试)模仿应该从 DMS 发送的请求。如果通过 DMS 运行,我们会得到

"error": {
        "root_cause": [
            {
                "type": "illegal_argument_exception","reason": "cannot change object mapping from nested to non-nested"
            }
        ],"type": "illegal_argument_exception","reason": "cannot change object mapping from nested to non-nested"
    },"status": 400

是否有可能捕获从 DMS 发送到 ES 的实际请求

  • 我们将 DMS 中的日志更改为 { "Id": "TARGET_APPLY","严重性": "LOGGER_SEVERITY_DETAILED_DEBUG" },
  • 我们还在 Elasticserach 服务上设置了错误日志

但只记录错误 - 查看 DMS 实际组装的请求会很有帮助。

附注: 在索引上没有预定义映射时,它是通过 DMS 插入的(ES 猜测字段类型很好),但我们需要应用映射。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。