riak的Erlang本机api,2i没有文档或示例?(提交后挂钩)

riak的Erlang本机api,2i没有文档或示例?(提交后挂钩),erlang,riak,Erlang,Riak,我试图做的是从用erlang编写的post commit钩子中的另一个bucket访问2i信息 我一直在查看Riak文档和其他我能想到的地方,但似乎找不到如何使用Riak内部erlang客户端查询2i 我可以使用以下http接口查询2i: /buckets/TEST/index/pos_int/1/15 它回来了 {"keys":["set2i"]} 我可以使用以下代码创建条目(加载到riak中): Robj=riak_object:new(,void,“application/json”)

我试图做的是从用erlang编写的post commit钩子中的另一个bucket访问2i信息

我一直在查看Riak文档和其他我能想到的地方,但似乎找不到如何使用Riak内部erlang客户端查询2i

我可以使用以下http接口查询2i:

/buckets/TEST/index/pos_int/1/15
它回来了

{"keys":["set2i"]}
我可以使用以下代码创建条目(加载到riak中):

Robj=riak_object:new(,void,“application/json”),
Lst=[{“pos_int”,5}],
Meta=dict:store(,Lst,dict:new()),
I2obj=riak\u对象:更新\u元数据(Robj,Meta)
{ok,C}=riak:local_client()。
C:put(I2obj)。
这可以很好地工作,但我遇到的问题是,试图找出如何使用riak的本机api执行相同的查询。与riak内部客户机有关的任何文档实际上都不存在

我需要的是:

  • 有关如何执行整数范围查询的信息
  • 有关我的其他2i查询选项的信息,以备我需要

非常感谢您的帮助。

Riak的内部没有太多的文档记录,但是您可以尝试从和的来源预测您正在寻找什么

似乎需要使用构建索引查询,然后将构造的查询传递给函数

但是,对每个put进行覆盖率查询不会导致非常糟糕的延迟吗

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).