2013-04-01 32 views
0

我想知道是否有一种有效的方式来处理Riak中的数组/列表。现在,我将整个数组存储为一个字符串并搜索字符串,以确定数组中是否存在元素。Riak插入一个列表和查询列表

ID(密钥):INT [](值)

并且还如何写一个地图/减少查询,得到所有的量,值数组包含一个元件

实施例1的键:2,3,4 2:2,5

我该如何编写一个M/R查询来给我所有的键,其中的值包含2,结果是1,2在这种情况下。

任何帮助表示赞赏

回答

0

如果您正在搜索列表中的某个特定的元素,并使用性LevelDB后端,你可以创建一个secondary index将包含数组的值。 Riak中的二级索引可能包含多个值,可以搜索相等性,这应该允许您搜索数组中的单个元素,而不必诉诸于MapReduce。

如果您需要根据列表中的几个元素或其他参数进行更复杂的查询,则可以基于二级索引检索记录子集,然后在客户端进一步处理它们,或者甚至通过MapReduce工作。