鉴于两个DynamoDB表:Books和Words,我如何创建一个将两者相关联的索引?具体来说,我想查询以获取包含某个Word的所有书籍,并查询以获取出现在特定书籍中的所有单词。 目标是避免扫描整个表格以进行这些查询。
答案 0 :(得分:0)
根据您的问题,我无法判断您是否只关心独特的单词,或者您是否希望每个单词都包含重复单词。我会假设独特的词语。
这可以使用单个表和全局二级索引来完成。
创建一个名为BookWords的表,其中哈希键为bookId
,排序键为word
。如果您使用bookId
查询此表格,您将获得该图书中的所有唯一字词。
创建一个全局二级索引,其哈希键为word
,排序键为bookId
。如果您使用word
查询此索引,您将获得包含该字词的所有bookIds
本书。
根据您的使用情况,您可能希望对单词进行标准化。例如,是" Word"与" word"?
相同如果您想要所有单词,而不仅仅是单词,您可以使用类似的方法进行一些小的更改。让我知道