使用 Amazon Dynamodb 进行不区分大小写的查询

Posted

技术标签:

【中文标题】使用 Amazon Dynamodb 进行不区分大小写的查询【英文标题】:Case-insensitive queries with Amazon Dynamo DB 【发布时间】:2013-11-08 14:01:04 【问题描述】:

在 DynamoDB 中,字符串值区分大小写。在我的应用程序中,用户可以在数据库中搜索个人资料名称。但是,如果他们搜索“alan”,则搜索结果中不会返回“Alan”。如何允许用户指定不区分大小写的搜索来检索好的结果?

仅供参考:我将 DynamoDB 与 Node.js 和 Express 结合使用,AngularJS 在前端。对 db 的扫描请求的脚本位于 Express route js 文件中;解释用户请求并发送到服务器的代码位于 AngularJS 控制器中。

【问题讨论】:

【参考方案1】:

您可以使用 Lambda 函数将您的 DynamoDB 表连接到 AWS ElasticSearch,以便将表中的更新流式传输以进行索引。 ElasticSearch 允许全文和不区分大小写的查找,因此它正是您要查找的内容。这是 AWS 解决方案架构师的 example architecture。 AWS 实验室还提供完成相同任务的DynamoDB Logstash plugin。

【讨论】:

以上是关于使用 Amazon Dynamodb 进行不区分大小写的查询的主要内容,如果未能解决你的问题,请参考以下文章

Amazon Elastic MapReduce - 从 S3 到 DynamoDB 的大量插入非常慢

在 Amazon Dynamodb 中按动态值排序?

Amazon Dynamodb:使用 Merkle 树的反熵副本同步

查询 Amazon DynamoDB 以获取特定结果

如何将Amazon SQS与Dynamodb集成

如何在 Node 中使用 Amazon 的 Dynamodb Local?