1

我想知道是否有在 Riak 中处理数组/列表的有效方法。现在我将整个数组存储为字符串并搜索字符串以找出数组中是否存在元素。

ID(键):int[](值)

还有我如何编写一个 map/reduce 查询来给出值数组包含一个元素的所有键

例如 1 : 2,3,4 2 : 2,5

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

任何帮助表示赞赏

4

1 回答 1

1

如果您正在搜索列表中的特定元素并使用 LevelDB 后端,您可以创建一个二级索引来包含数组的值。Riak 中的二级索引可能包含多个值,并且可以搜索是否相等,这应该允许您搜索数组中的单个元素,而不必求助于 MapReduce。

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

于 2013-04-01T20:44:08.713 回答