That's perfect thanks. I think I was presuming that the name of the
underlying index was $key_bin so this didn't cross my mind. Definitely
agree with having a separated typed KeyIndex rather than changing how
BinIndex or IntIndex work.

Thanks,
D


On Mon, Jan 30, 2012 at 10:41 AM, Russell Brown <russell.br...@me.com>wrote:

>
> On 30 Jan 2012, at 18:12, Dietrich Featherston wrote:
>
> I'm using a leveldb-backed riak 1.0.2 and looking for some suggestions to
> fetch a block of data by key range. I have control over the keys and all
> reads out of this setup will involve at minimum a key range. It seems that
> if leveldb is an ideal candidate for this kind of access pattern so long as
> I'm able to take advantage of that in the APIs exposed by riak.
>
> First thought is to use the built-in $key index to do a query for the keys
> falling in a range, then fetch the underlying objects (either directly or
> via a map job). Doesn't look like this is yielding any results for a range
> known to contain data, however.
>
> Doing something like the following in the Java API yields no data
>
> val keys =
>> bucket.fetchIndex(BinIndex.named("$key")).from(startKey).to(endKey).execute();
>
>
> Whereas the same question phrased as a keyfilter map job does yield data
>
>     riak.mapReduce(query)
>>       .addKeyFilter(new BetweenFilter(startKey, endKey))
>>       .addMapPhase(new NamedErlangFunction("riak_kv_mapreduce",
>> "map_object_value"), true)
>>       .execute()
>
>
> Perhaps there is something I need to do to make sure the $key index is
> built other than using the leveldb backend, but I couldn't find any
> evidence of that in the docs.
>
> Does this seem like a reasonable approach? If so, any thoughts on how I
> might be reading the key index incorrectly?
>
>
> It is a bug/oversight in the RJC, when you do BinIndex.named("$key"),
> you'll get an index called "$key_bin", which isn't the name of the index
> you want. I'll raise a bug for it and get a patch out. I think the best bet
> is to have a tagged type (KeyIndex ?) rather than change the way that
> BinIndex/IntIndex work. Sound ok?
>
> Cheers
>
> Russell
>
>
> Thanks,
> D
>
> _______________________________________________
> riak-users mailing list
> riak-users@lists.basho.com
> http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com
>
>
>
_______________________________________________
riak-users mailing list
riak-users@lists.basho.com
http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com

Reply via email to