我从未使用过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"
我正在编写一个lambda函数,该函数根据我在用户提出的问题中找到的意图和实体来获取答案。
但是如果用户询问,
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个实体,它们是一个数组。我不能将分区键作为数组。
我正在编写一个lambda函数,该函数将基于意图和实体来获取数据,但是除非我将意图和实体用作分区键,否则它将无法获取任何内容。
必须有一些可以唯一标识行的东西。
有人可以帮忙吗?