我要做的是从用erlang编写的post提交钩子中的另一个桶中访问2i信息。
我一直在查看Riak文档和我能想到的许多其他地方,我似乎找不到如何使用Riak内部erlang客户端查询2i。
我可以使用以下http接口对2i进行查询:
/buckets/TEST/index/pos_int/1/15然后它又回来了
{"keys":["set2i"]}我可以用以下代码创建一个条目(加载到riak中):
Robj = riak_object:new(<<"TEST">>, <<"set2i">>, void, "application/json"),
Lst = [{"pos_int", 5}],
Meta = dict:store(<<"index">>,Lst, dict:new()),
I2obj = riak_object:update_metadata(Robj, Meta)
{ok,C} = riak:local_client().
C:put(I2obj).这很好,但我遇到的问题是如何使用riak的本机api来执行相同的查询。与riak内部客户端有关的任何文档实际上都不存在。
我需要的是:
任何帮助都是非常感谢的。
发布于 2013-07-20 20:04:55
里亚克的内部记录不多,但你可以尝试从Riak客户端和2I模块的来源中推测出你要寻找的东西。
您似乎需要使用riak_index:to_index_query()构建索引查询,然后将构造的查询传递给riak_client:get_index()函数。
但是,是否会对每个put原因执行覆盖查询,这样的延迟会非常糟糕吗?
https://stackoverflow.com/questions/17753477
复制相似问题