MapReduce "not_found" from Solr search index

Ellis Pritchard ellis.pritchard at ft.com
Mon Nov 16 06:47:56 EST 2015


Hi,

I've configured a Solr search index ("erights-users") for my bucket (named
"missing", default type), containing a bunch of JSON documents, with a
search schema ("erightsuser"); this seems to be working OK for simple
queries, i.e. I can run a Solr query against it and it returns expected
results:

$ curl http://localhost:8098/types/default/buckets/missing/props

{"props":{"allow_mult":false,"basic_quorum":false,"big_vclock":50,"chash_keyfun":{"mod":"riak_core_util","fun":"chash_std_keyfun"},"dvv_enabled":false,"dw":"quorum","last_write_wins":false,"linkfun":{"mod":"riak_kv_wm_link_walker","fun":"mapreduce_linkfun"},"n_val":3,"name":"missing","notfound_ok":true,"old_vclock":86400,"postcommit":[],"pr":0,"precommit":[],"pw":0,"r":"quorum","rw":"quorum","search_index":"erights-users","small_vclock":50,"w":"quorum","write_once":false,"young_vclock":20}}


$ curl http://localhost:8098/search/query/erights-users?q=country.code:ANT

<?xml version="1.0" encoding="UTF-8"?>

<response><lst name="responseHeader"><int name="status">0</int><int
name="QTime">58</int><lst name="params"><str
name="q">country.code:ANT</str><str name="shards">
127.0.0.1:8093/internal_solr/erights-users</str><str
name="127.0.0.1:8093">_yz_pn:64
OR (_yz_pn:61 AND (_yz_fpn:61)) OR _yz_pn:60 OR _yz_pn:57 OR _yz_pn:54 OR
_yz_pn:51 OR _yz_pn:48 OR _yz_pn:45 OR _yz_pn:42 OR _yz_pn:39 OR _yz_pn:36
OR _yz_pn:33 OR _yz_pn:30 OR _yz_pn:27 OR _yz_pn:24 OR _yz_pn:21 OR
_yz_pn:18 OR _yz_pn:15 OR _yz_pn:12 OR _yz_pn:9 OR _yz_pn:6 OR
_yz_pn:3</str></lst></lst><result name="response" numFound="20" start="0"
maxScore="12.103038"><doc><str name="position.code">PR</str><str
name="country.code">ANT</str><str name="responsibility.code">FIN</str><str
name="industry.code">ENC</str><str
name="contactAddress.country.code">ANT</str><str
name="email">xxx at xxx.com</str><str
name="gid">10783b99-9483-414d-a6f8-eb330ff6dfac</str><str
name="userId">10422205</str><str
name="_yz_id">1*default*missing*10783b99-9483-414d-a6f8-eb330ff6dfac*51</str><str
name="_yz_rk">10783b99-9483-414d-a6f8-eb330ff6dfac</str><str
name="_yz_rt">default</str><str name="_yz_rb">missing</str></doc> ...


However, I'm trying to do a simple MapReduce on it, initially to count the
documents (following the example in the 2.1.1 riakdocs) and I always seem
to get 0 as a result:

$ curl -XPOST http://localhost:8098/mapred      -H 'Content-Type:
application/json'      -d
'{"inputs":{"module":"yokozuna","function":"mapred_search","arg":["erights-users","country.code:ANT"]},"query":[{"map":{"language":"javascript","keep":false,"source":"function(v)
{ return [1];
}"}},{"reduce":{"language":"javascript","keep":true,"name":"Riak.reduceSum"}}]}'

[0]


If I run with {"keep": true} on the map operation, I get the following:

[[{"not_found":{"bucket_type":"default","bucket":"missing","key":"0063aac8-bb45-4051-a502-d541b41d327b","keydata":{}}},...

(NB confusingly, my bucket is called "missing"!).

Doing a GET for the keys that come back "not_found" works fine.


What am I missing?


Ellis.

(Riak 2.1.1 MacOS X)

-- 

------------------------------
This email was sent by a company owned by Pearson plc, registered office at 
80 Strand, London WC2R 0RL.  Registered in England and Wales with company 
number 53723.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.basho.com/pipermail/riak-users_lists.basho.com/attachments/20151116/a7686371/attachment-0002.html>


More information about the riak-users mailing list