首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Riak中求数值二级索引的最大值

在Riak中求数值二级索引的最大值
EN

Stack Overflow用户
提问于 2012-05-29 05:56:36
回答 2查看 366关注 0票数 1

给定Riak中的数字二级索引,我可以执行范围查询,例如:

“查找所有值*,索引"sn”在1和10之间“。

是否有方法为数字索引找到最大值?也就是说。

“查找索引”sn的最大值。

*它实际上找到了所有的主键(不是值本身),但在这里并不重要。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-06-07 21:56:37

不,你不能让Riak给你2i的最大值。您必须执行映射/减少作业,并解析每个2i值,其中包括一个约简作业,以找到最大值。

如果这是应用程序的一个重要部分,那么还有其他方法可以解决这个问题。一旦找到最大值,就可以向值中添加一个辅助索引,这表明它是最大值。如果最大值随时间而变化,则可以:

在桶( 2i for 1.

  • If )中只有一个结果,返回它。如果有多个结果,减少到查找最大值。

  • 从不再是maximum.

  • When添加新值的每个对象中删除maxval_int索引,检查当前最大值,更新索引accordingly.

类似于读取修复的小函数用于处理集群中节点被分区的情况。

HTH。

票数 1
EN

Stack Overflow用户

发布于 2012-06-09 17:23:46

或者,如果您的maxval单调地增加,您可以将它存储在特殊的键下,如max_2i_index=25,那么如果您将桶设置为允许兄弟姐妹,则可以通过提供简单的mutator和冲突解决程序来解决潜在的兄弟关系。你也可以考虑适当地设置R,W,PR,-N,以避免不一致。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10793760

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档