【问题标题】:Riak: query array of 2i through Map ReduceRiak:通过Map Reduce查询2i的数组
【发布时间】:2015-05-06 02:26:02
【问题描述】:

我可以在 Riak 的 Map Reduce 作业中查询二级索引数组,而不仅仅是一个键吗?我想做这样的事情:

"inputs": {
    "bucket": myBycket,
        "index": "myIndex",
        "key": key + " OR " + key + " OR " + key
    },
    "query": [{
        "map": {
            "language":"javascript",
            "name":"Riak.mapValuesJson"
        }
    }]
}

但我还没有找到任何支持它。键没有特定的顺序,所以我认为我不能使用范围查询。

【问题讨论】:

    标签: mapreduce riak


    【解决方案1】:

    您当然可以使用 Map Reduce 来处理这个问题。如果您对目标键进行预排序,则可以限制范围并可能提高性能。

    {
     "inputs": {
        "bucket": myBycket,
        "index": "myIndex",
        "start": firstkey,
        "end": lastkey
        },
        "query": [{
            "map": {
                "language":"javascript",
                "source":"function(v) {
                            if (v.key == "key1" || v.key == "key2") {
                               return [<<put what you want returned here>>]
                            } else {
                               return []
                            }
                          }"
            }
        }]
    }
    

    您应该注意,根据docs site javascript Map Reduce 已被正式弃用,因此您可能希望使用 Erlang 函数进行新的开发。

    【讨论】:

      猜你喜欢
      • 2014-07-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多