Jeremiah,
Thank you for your response. As you have suggested, it does work with:
[["and", [["ends_with", "0603"]], [["starts_with", "basho"]]]]
I have confirmed that the following does work.
{
"inputs" : {
"bucket" : "zips",
"key_filters" : [["and", [["starts_with",
22305]], [["tokenize", "-", 4], ["between", "1", "5"]]]]
},
"query" : [{
"map" : {
"keep" : true,
"language" :
"javascript",
"arg" : null,
"source" :
"function (v) { return [Riak.mapValuesJson(v)[0]]; }"
}
}
]
}
Perhaps the basho wiki should be updated.
David
From: Jeremiah Peschka [mailto:[email protected]]
Sent: Monday, June 06, 2011 10:05 AM
To: David Mitchell
Cc: [email protected]
Subject: Re: Key-Filters with logical AND operation and with tokenize
It does work, but the and/or/not examples in the wiki only show the filter
operation that would be passed in to the filters parameter, not the entire
contents.
The wiki's
["and", [["ends_with", "0603"]], [["starts_with", "basho"]]]
should really be
[["and", [["ends_with", "0603"]], [["starts_with", "basho"]]]]
http://lists.basho.com/pipermail/riak-users_lists.basho.com/2011-May/004305.html
is Mathias's response to my questions on the subject.
---
Jeremiah Peschka
Founder, Brent Ozar PLF
On Monday, June 6, 2011 at 6:54 AM, David Mitchell wrote:
Can someone confirm that the logical AND operation used with tokenize does not
work? According to the website (http://wiki.basho.com/Key-Filters.html), it
should work, but it does not work for me.
David
From: David Mitchell
Sent: Thursday, June 02, 2011 6:41 PM
To: '[email protected]<mailto:[email protected]>'
Subject: Key-Filters with logical AND operation and with tokenize
I am trying to use the following Key-Filters with logical AND operation and
tokenize, but I am getting errors. Anyone know what might be wrong? Is it
possible to use tokenize with the logical AND?
Erlang: R13B04
Riak: 0.14.2
Bucket: zip
Key: 22305-0-1-3
The following does not work:
{
"inputs" : {
"bucket" : "zip",
"key_filters" : ["and", [["starts_with",
"22305-0"]], [["tokenize", "-", 4], ["between", "1", "3"]]]
},
"query" : [{
"map" : {
"keep" : true,
"language" :
"javascript",
"arg" : null,
"source" :
"function (v) { return [Riak.mapValuesJson(v)[0]]; }"
}
}
]
}
I get the following error:
{error,{error,function_clause,[{riak_client,build_exprs,[[<<\"and\">>,[[<<\"starts_with\">>,<<\"22305-0\">>]],[[<<\"tokenize\">>,<<\"-\">>,2],[<<\"between\">>,<<\"1\">>,<<\"3\">>]]],[],{riak_client,'[email protected]<mailto:[email protected]>',<<3,171,198,76>>}]},{riak_client,build_filter,2},{riak_client,stream_list_keys,6},{riak_client,mapred_bucket_stream,7},{riak_client,mapred_bucket,6},{riak_kv_wm_mapred,process_post,2},{webmachine_resource,resource_call,3},{webmachine_resource,do,3}]}}
The following does work:
{
"inputs" : {
"bucket" : "zip",
"key_filters" : [["tokenize", "-", 4],
["between", "1", "5"]]
},
"query" : [{
"map" : {
"keep" : true,
"language" :
"javascript",
"arg" : null,
"source" :
"function (v) { return [Riak.mapValuesJson(v)[0]]; }"
}
}
]
}
David
_______________________________________________
riak-users mailing list
[email protected]<mailto:[email protected]>
http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com
_______________________________________________
riak-users mailing list
[email protected]
http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com