какой должен быть выбор ключа раздела DynamoDB - PullRequest
0 голосов
/ 06 мая 2019

Я никогда не использовал DynamodB, поэтому я немного запутался в том, как мне следует проектировать ключи разделов.

Я должен хранить некоторые данные в DynamodB.Данные о намерениях и сущностях чат-бота.

В соответствии с каждым намерением и их сущностями существует конкретный ответ.

Например,

What is the capital of **India**?

intent: {capital_of_intent}
entityName: {country_name}
entityValue: "India" 
answer: "New Delhi is the capital of India"

Я пишу лямбда-функцию, которая выбирает ответ на основенамерение и сущность, которые я нашел в вопросе, заданном пользователем.

Но если пользователь спросит,

Is **october** a good time to visit **India**?

intent: {visit-intent}
entityname: {country_name}
entityValue: "India"
entityName: {month}
entityValue: "october"
answer: "Yes, Weather in India during October is pleasant."

Этот первый пример довольно прост в обращении, но второй пример становится сложнымкогда в вопросе есть две сущности.

Теперь я хочу сохранить данные такого рода в DynamodB, я не могу понять, какое поле должно быть ключами моего раздела.Потому что, если у меня есть 2 объекта в вопросе, это означает, что у меня есть 2 объекта, который является массивом.У меня не может быть ключа раздела в виде массива.

Я пишу лямбда-функцию, которая будет извлекать данные на основе намерения и сущностей, но если я не использую намерение и сущности в качестве ключей секционирования, она не сможет ничего извлечь.

Должно быть что-то, что однозначно идентифицирует строки.

Может кто-нибудь помочь?

...