【发布时间】:2019-04-23 06:09:32
【问题描述】:
这是我的情况:
- 我在 dynamoDB 中有一个巨大的数据库,包含 250.000 个项目。 (示例)table
- 我希望能够通过 3 个属性进行“子字符串搜索”,获取与子字符串匹配的所有项目的列表。
- 我希望能够搜索的属性在不同项目之间可以具有相同的值。
- 我的哈希键是一个 id(真正区分项目的唯一属性)。
- 我使用 react native 作为客户端
- 我的架构有这些“查询类型”queries
我在哪里:
我首先尝试使用 listCaballos 查询进行查询,将用户输入作为过滤器添加到查询中,并使用 nextToken 递归遍历整个表(不使用二级索引),但花了 6 分钟才完成通过桌子并返回项目。
我知道二级索引有助于分区,然后通过选择的键对项目进行排序(这使得它更快),但我读到这会迫使用户进行精确搜索(不是子字符串类型的搜索),这不是我需要的。
我听说 Elastic Search 可能会有所帮助。
有什么建议吗?
谢谢!
【问题讨论】:
-
表格有多大(以字节为单位)?
-
你基本上必须扫描表才能得到结果。
-
这是临时查询还是新的常规数据访问模式?
-
@MatthewPope 我不确定你的意思,但我在问题中添加了更多信息以便(也许)回答你。
-
@DiegoLeonvendagar 这是一次性搜索还是您需要经常做的事情?该问题的答案与推荐的解决方案不同。
标签: search substring amazon-dynamodb