如何使用riak本地客户端设置2i

时间:2013-04-16 18:30:31

标签: erlang riak

有谁知道我如何将2i设置为使用riak_object创建的对象

OBJ = riak_object:new()

我想与riak本地客户合作,我尝试做类似的事情:

Obj1 = riakc_obj:new(Bucket, UniqKey, Tablet),
MD1  = riakc_obj:get_update_metadata(Obj1),
MD2  = riakc_obj:set_secondary_index(MD1, {{integer_index, IdxTS}, [FirstTS, LastTS]}),
Obj2 = riakc_obj:update_metadata(Obj1, MD2)

但我在riak_object模块中找不到类似的东西,我只找到了关于如何查询2i而不是如何设置它的例子。

由于

1 个答案:

答案 0 :(得分:1)

    {ok, C} = riak:local_client(),
    O = riak_object:new(<<"bucket">>, <<"key">>, <<"hello">>),

    O2 = riak_object:update_metadata(
        O,
        dict:from_list([{<<"index">>, [{<<"my_index_bin">>, <<"index_key">>}]}])
    ),
    C:put(O2).