【问题标题】:query dynamoDB for values between X an Y查询 dynamoDB 以获取 X 和 Y 之间的值
【发布时间】:2020-07-02 16:35:34
【问题描述】:

我有一个 DynamoDB 表,如附图中所示,我正在寻找基于 lon 和 lat 字段查询表的方法。更具体地说,我正在寻找 X 和 Y 之间的 Lon 和 A 和 B 之间的 Lat 的所有结果。

有没有办法做到这一点?我为 Lon 和 Lat 创建了索引,但值是字符串。

非常感谢您的帮助!!

【问题讨论】:

    标签: amazon-dynamodb dynamodb-queries amazon-dynamodb-index


    【解决方案1】:

    你可以想出一个好的散列函数(比如说 f),并为 dynamodb 提供以下架构

    | pk          | sk               |  lat  | lon  | name 
    | hashvalue1  | 48.80#2.35#Fac   | 48.80 | 2.35 | Fac du
    | hashvalue1  | 48.83#2.36#Groupe| 48.83 | 2.36 | Groupe Hos
    
    here f(48.80, 2.35) = hashvalue1
    f(48.83, 2.36) = hashvalue1
    

    每当您必须查询 lat1 和 lon1 时,计算 f(lat1, lon1) 并查询 db。 但是这个解决方案的问题在于提出了一个好的散列函数,因为在最坏的情况下,您可能必须重新计算 db 中每个输入值的散列,否则它可能会成为热键。这种方法有据可查 herehere

    我建议使用弹性搜索,它会给你更多的灵活性。就未来的用例而言。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-07-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多