Я пытаюсь настроить 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
.
Вопросы:
- Как сделать эти вложенные параметры доступными для поиска?Могу ли я индексировать
business.name
или что-то еще? - Если # 1 невозможно, могу ли я как-то отправить свои данные через функцию преобразования, прежде чем они попадут в Cloudsearch?Таким образом, я мог сгладить все свои объекты и дать уникальным именам полей, например,
businessName
и professionName
РЕДАКТИРОВАТЬ:
Мое решение на данный момент состоит в том, чтобы иметь отдельныйТаблица DynamoDB, которая копирует нашу таблицу users
, но хранит ее в удобном для CloudSearch формате.Однако мне не нравится это решение, поэтому любые другие идеи приветствуются!