是否可以列出以前保存在Riak存储桶中的所有二级索引值(leveldb,2i已启用)?在Riak中拥有以下数据:
curl -XPOST localhost:8098/types/indexes/buckets/users/keys/x -H 'x-riak-my_bin: a'
curl -XPOST localhost:8098/types/indexes/buckets/users/keys/y -H 'x-riak-my_bin: b'
我希望能够发送一个查询,该查询会返回{a, b}
作为结果(或者可能是相同结果的流句柄,如果它太大了)。类似的东西:
curl -XGET localhost:8098/types/indexes/buckets/users/index/my_bin/_
是否有可能从Riak获得此类信息?
注意:在我们的案例中,我对获取实际的对象密钥不感兴趣 - {x, y}
。
答案 0 :(得分:1)
我不相信功能是提供的。似乎Riak以{i,Bucket,Index,Value,Key}
之类的形式存储2i值。然后,一个范围索引请求从{i,Bucket,Index,FirstValue,_}
开始折叠并返回它找到的内容。默认设置是返回找到的键,您也可以请求值,但不能输入没有键的值。因此,您必须使用map-reduce或某些客户端代码来删除存储桶/密钥并对值列表进行重复数据删除。