python client - failing mapreduce on fulltext search

Bartłomiej Górny bartek at gorny.edu.pl
Mon Mar 14 14:37:34 EDT 2016


Hi

I've been trying to do fulltext search and mapreduce on it, only to get 
values, and I can't make it work. When I try the following code:

query = riak.mapreduce.RiakMapReduce(c)
query = query.search(idx, sstr)
query = query.map_values()
query = query.reduce_limit(1)
res = query.run()

it failes, and gives me this:

File 
"/usr/local/lib/python2.7/dist-packages/riak-2.4.2-py2.7.egg/riak/mapreduce.py", 
line 322, in run
riak.riak_error.RiakError: 'Error processing stream message: 
exit:{json_encode,
             {bad_term,
                  {not_found,
                      {{<<"default">>, <<"events">>},
                                           <<"1457605860_zeknmulfpt">>},
                          {struct,[]}}}}:[{mochijson2,
                            json_encode,2 [{file,src/mochijson2.erl"}...

where <<"1457605860_zeknmulfpt">> is a key of an existing object in 
<<"events">> bucket, which can be fetched.

The search itself works fine - when I do this:

c.fulltext_search(idx, sstr, rows=10000)

it works, and I can retrieve all found objects one by one. When I 
mapreduce on a bucket:

query = riak.mapreduce.RiakMapReduce(c)
query = query.add_bucket("track_here_events")
query = query.map_values()
query = query.reduce_limit(10)
res = query.run()

it works too. Only combination of search and mapreduce works, though 
according to documentation it should work. What may be wrong, then?

Bartek

-- 
Młodość jest straszna; to scena, gdzie na wysokich koturnach i w 
najrozmaitszych kostiumach poruszają się dzieci i recytują wyuczone 
kwestie, które rozumieją tylko w połowie, ale którym są fanatycznie oddane.

(Milan Kundera, "Żart")




More information about the riak-users mailing list