> On Feb 5, 2015, at 10:55 AM, Mikhail Pustovalov <mpustova...@gmail.com> wrote: > > Hello, > I am using MapReduce just as a way to get multiple keys in one query (I > couldn't find a better way). My code used to work with Riak v.1.4 but now > when I try to run it against the latest version (2.0.4) mapred queries return > {error, notfound} for each key supplied. > I have created a bucket type, put my keys inside a bucket in that type. > Simple 'put' and 'get' work fine. This line returns requested object: > riakc_pb_socket:get(Pid,{<<"avs_n2">>,<<"avatars">>},<<145,3,100,41,46>>). > This line though: > riakc_pb_socket:mapred(Pid, > [{{<<"avs_n2">>,<<"avatars">>},<<145,3,100,41,46>>}],[{map, {modfun, > rc_mapred, map_kv_pairs}, none, true}]). > returns this: > {ok,[{0,[{error,notfound}]}]} > Seems like mapred functions are unable to query using bucket types. Without > bucket types everything still works fine. > Also mapred_bucket over a whole bucket also works fine. > Please, advise. Is it possible to use mapred with newly introduced bucket > types when I want only specific keys and not the full scan of a bucket?
Hi Mikhail, You’ll need to specify the bucket type as part of the bucket name when performing the map reduce, for example, for inputs for the “maps” bucket type and “users” bucket, you should use {<<“maps”>>, <<“users”>>} as the bucket name for riakc_pb_socket. Thanks, - Chris Christopher Meiklejohn Senior Software Engineer Basho Technologies, Inc. cmeiklej...@basho.com _______________________________________________ riak-users mailing list riak-users@lists.basho.com http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com