AWS: преобразование данных из DynamoDB перед отправкой в ​​Cloudsearch - PullRequest
0 голосов
/ 26 сентября 2018

Я пытаюсь настроить AWS Cloudsearch с таблицей DynamoDB.Моя структура данных выглядит примерно так:

{
  "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.name,profession.name и т. Д.)

Cloudsearch извлекает некоторые вложенных объектов, таких как suburb, но кажется, что невозможно различить name в корнеобъекта и name в объектах business и profession.

Вопросы:

  1. Как сделать эти вложенные параметры доступными для поиска?Могу ли я индексировать business.name или что-то еще?
  2. Если # 1 невозможно, могу ли я как-то отправить свои данные через функцию преобразования, прежде чем они попадут в Cloudsearch?Таким образом, я мог сгладить все свои объекты и дать уникальным именам полей, например, businessName и professionName

РЕДАКТИРОВАТЬ:

Мое решение на данный момент состоит в том, чтобы иметь отдельныйТаблица DynamoDB, которая копирует нашу таблицу users, но хранит ее в удобном для CloudSearch формате.Однако мне не нравится это решение, поэтому любые другие идеи приветствуются!

...