NodeJS 如何通过dynamodb搜索并提供最佳结果,而不考虑1 MB的限制

3qpi33ja  于 2023-01-12  发布在  Node.js
关注(0)|答案(1)|浏览(102)

我一直在做一个使用dynamo db来存储帖子列表的项目。
以下是我的目标:发布和更新帖子的能力(完成)用户搜索帖子列表的能力(完成)
问题在于扫描操作的最大值为1 MB
当用户搜索时,我会进行扫描操作来抓取每个帖子,然后使用算法来评估每个帖子的相关性,然后进行排序。
本来我以为这样就够了...我只需要添加一个分页功能,这样人们就可以看到下一MB的数据了。
问题是这样的:
假设第一个mb的数据中有得分为78%、56%、12%和几个1%或2%的帖子。
好的。这个可以了,一切都显示出来了。
然后用户单击下一页。
如果下一个mb的数据有一个80%或90%的帖子呢?
我该怎么检查呢?我需要90%的数据在顶部,除非它在下一个MB的数据中,并且在用户点击下一页之前不能被检查(如果所有的好结果都在最后一页,那就太糟糕了)
我听说过像batchGetAllItems这样的东西,但我是1 MB限制的粉丝,因为它可以加快速度。
我该怎么做呢?dynamodb中有什么搜索功能可以用吗?

acruukt9

acruukt91#

你用错数据库了。
我强烈建议浏览一下YouTube上的各种AWS演示文稿...
特别是这里有一个AWS re:Invent 2018的The Iron Triangle of Purpose- PIE定理章节的链接:使用AWS数据库构建:“将您的工作负载与正确的数据库匹配”(DAT 301)演示文稿。x1c 0d1x
DynamoDB提供IE -无限规模和效率。
但你需要P型灵活性.
你需要决定你是否需要PI或PE。

相关问题