AWS:将数据从DynamoDB发送到Cloudsearch之前进行转换

时间:2018-09-26 01:44:04

标签: amazon-web-services aws-lambda amazon-dynamodb amazon-cloudsearch

我正在尝试使用DynamoDB表设置AWS的Cloudsearch。我的数据结构是这样的:

{
  "name": "John Smith",
  "phone": "0123 456 789"
  "business": {
    "name": "Johnny's Cool Co",
    "id": "12345",
    "type": "contractor",
    "suburb": "Sydney"
  },
  "profession": {
    "name": "Plumber",
    "id": "20"
  },
  "email": "johnsmith@gmail.com",
  "id": "354684354-4b32-53e3-8949846-211384",
}

从DynamoDB导入数据-> Cloudsearch轻而易举,但是我希望能够为其中一些嵌套对象参数(例如business.nameprofession.name等)建立索引。

Cloudsearch正在引入{em> some 之类的嵌套对象,例如suburb,但似乎不可能区分对象根目录中的namenamebusiness对象中的profession

问题:

  1. 如何使这些嵌套参数可搜索?我可以在business.name上索引吗?
  2. 如果#1不可能,我可以通过某种转换函数将数据发送到Cloudsearch之前以某种方式发送它吗?这样,我可以展平所有对象,并为字段赋予唯一名称,例如businessNameprofessionName

编辑:

目前,我的解决方案是拥有一个单独的DynamoDB表,该表复制我们的users表,但是以CloudSearch友好格式存储它。但是,我根本不喜欢这种解决方案,因此完全欢迎其他任何想法!

0 个答案:

没有答案