首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >DynamoDB:用于文本搜索的表模式

问DynamoDB:用于文本搜索的表模式
EN

Stack Overflow用户
提问于 2013-10-02 07:02:05
回答 1查看 1.2K关注 0票数 0

我将一些数据从MySQL转移到DynamoDB。现在,我在模式设计上遇到了一个问题,以满足我的所有需求。我在MySQL中的表有如下模式:

代码语言:javascript
复制
userid - int
datetimemillis - int
typeid - int
string1 - string
string2 - string
string3 - string
string4 - string

主键使用userid和datetimemillis构建。

我需要这样的查询:

  1. 为特定的userid检索每一行
  2. 为特定的userid和typeid检索每一行
  3. 检索字符串1-4包含特定字符串的特定userid和typeid的每一行。

我可以使用userId作为hashkey,typeId作为本地辅助索引(删除具有特定用户I的所有记录需要范围键)进行1和2。是否有任何选项,我可以进行第三次查询而不用扫描?我的可能性是什么?用CloudSearch?或者其他亚马逊服务?如果我需要更改我的架构,请告诉我。价格并不重要,它只需要工作,即使我必须使用50个额外的服务和dynamodb表。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-10-19 22:16:56

如果要使用String1-4执行精确的字符串匹配,则可以使用更多的本地辅助索引。DynamoDB最多支持5个本地辅助索引。

但是(我认为这正是您想要的)如果您试图在其中一个字符串中搜索特定的内容,我将使用solr这样的方法在solr中索引所有这些字符串及其相应的userId,并从solr搜索的结果集交叉引用userId和dynamodb用户表中的HashKey。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19131549

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档