gpt4 book ai didi

javascript - AWS 使用特定标签(列表中的字符串值)查找数据点的最有效方法

转载 作者:行者123 更新时间:2023-12-04 07:25:34 25 4
gpt4 key购买 nike

我在 AWS 上有一个非常新手的问题。假设我经营一家提供 1.000.000 种不同产品的商店。每个产品在 dynamoDB 中名为 products 的表中都有自己的行。 .现在我想为每个产品附加一个标签列表,例如 ['football', 'outdoor', 'sport' ... ] ,这样当客户搜索 sport 时带有该标签的产品会显示在结果中。
我正在考虑解决此问题的最佳方法,以便提供快速但经济高效的搜索,到目前为止,我想到了 2 个可行的选择:
选项 1:包括 tags每个带有标签列表的产品的字段。'product_3' -> ['football', 'outdoor', 'sport'] 选项 2:创建一个新表,其中 key是每个标签,并包含一个字段,该字段采用产品列表。'sport' -> ['product_1', product_3, ... ]我倾向于和一起去选项 2 因为感觉它会呈现更快的搜索,但我想再次检查我没有做出任何错过任何其他高级选项的错误假设。
拥有与 word2vec 一起使用的基础架构也会很棒这样与搜索词相关的产品也会显示出来,即使它们不是相同的字符串值。

最佳答案

DynamoDB 是一个功能强大且非常有用的数据库,但它不是为搜索而设计的。我的建议是使用正确的工具来完成这项工作。
我多次成功使用的模式是使用 DynamoDB Streams 和 Lambda 将表复制到 Elasticsearch 索引。
然后,您可以在 DynamoDB 中的每个项目上使用该字符串标签集并对其进行管理。当您知道项目哈希键时,您的名义读取可以针对 DynamoDB 完成。当您想要搜索时,您可以点击 Elasticsearch 并获得它为搜索提供的所有好处和灵活性。与 DynamoDB 的 API 相比,这些好处之一是非常好的分页以及基于其他属性进行排序的能力。

关于javascript - AWS 使用特定标签(列表中的字符串值)查找数据点的最有效方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68235270/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com