我一直在寻找dynamodb作为它目前唯一的托管完全可扩展的nosql系统,在那里我可以发现,把db管理的头痛带走了。我现在有一个RSS feed索引系统,feed数据被插入到mongodb中,然后sphinxsearch循环遍历整个数据库并索引各个字段(以及我使用主+ delta索引,但不需要在此解释)。php dynamodb - 如何做一个“(key1,key2,key3)”查询中的hashkey?
随着狮身人面像,我可以做复杂的查询和排序,它给了我一个有序的文章ID的数组,一旦我用这些ID查询mongo,然后重新排序mongo数组以匹配狮身人面像给我的顺序。现在
function prepare_for_mongo($keys){
$results_keys_mongo = array();
if(sizeof($keys)>0){
foreach($keys as $key=>$value){
$results_keys_mongo[$key] = new MongoID($value);
}
}
return $results_keys_mongo;
}
function sort_mongo_results($documents,$keys){
$documents_sorted = array();
foreach($keys as $key){
$documents_sorted[$key] = $documents[$key];
}
return $documents_sorted;
}
function retrieve_records($keys) {
$m_keys = $this->prepare_for_mongo($keys);
if(!empty($m_keys)) {
$records = iterator_to_array($this->mongodb->find(array(
'_id' => array('$in' => $m_keys)
)));
$records = $this->sort_mongo_results($records,$keys);
} else {
return array();
}
}
,在我的追求迁移到dynamodb,我怎么能实现与PHP的dynamodb类似的查询,我可以通过HASHKEYS列表(唯一的哈希表示文章记录),然后发电机给我的结果所有包含这些散列键的记录?