我有以下结构的表
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,我搜索谷歌这个,我发现我们可以通过HashKey获取所有记录
答案 0 :(得分:2)
执行Query
时,您只能在HashKey
上拥有完全匹配。
但是,还有Scan
操作,您可以将其与FilterExpression
一起使用。请注意Query
和Scan
以不同方式执行和消耗容量。 See the differences here
以下是您可以在Scan
begins_with
上使用的示例参数:
{
table_name: tableName,
filter_expression: "begins_with(#country, :search)",
expression_attribute_names: {
"#country" => "country"
},
expression_attribute_values: {
":search" => "new"
}
}
这个article是一个很好的起点。
答案 1 :(得分:0)
谢谢@ mark-b和@bruno-buccolo,正如你所说搜索hashkey字段是不可能的
因此,我手动为该表创建弹性搜索索引,并在每次原始记录更新时更新