0

我有以下结构的表

HashKey: Place Name
Attribute: Place Data Class

现在我想用地名搜索,

例如:我有以下数据

Newyork {lat: x.xxxxx, lng: x.xxxxxx} Newzealand {lat: x.xxxxx, lng: x.xxxxxx} IndialaPolis {lat: x.xxxxx, lng: x.xxxxxx}

当我用关键字搜索时new,它应该返回 Newyork 和 Newzealand,我在 google 上搜索了这个,我发现我们可以通过 HashKey 获取所有记录

4

2 回答 2

2

执行 aQuery时,您只能在 上进行完全匹配HashKey

但是,还有一个Scan操作可以与FilterExpression. 请注意,QueryScan以不同的方式执行和消耗容量。请参阅此处的差异

以下是您可以在Scanwith上使用的示例参数begins_with

{
    table_name: tableName,
    filter_expression: "begins_with(#country, :search)",
    expression_attribute_names: {
        "#country" => "country"
    },
    expression_attribute_values: {
        ":search" => "new" 
    }
}

这篇文章是一个很好的起点。

于 2017-01-06T20:17:35.800 回答
0

谢谢@mark-b 和@bruno-buccolo,正如你所说,搜索 hashkey 字段是不可能的

所以我手动为该表创建了弹性搜索索引,并在每次原始记录更新时更新

于 2018-01-09T06:32:30.343 回答