Erlang 如何向map reduce查询发送参数

Erlang 如何向map reduce查询发送参数,erlang,mapreduce,riak,Erlang,Mapreduce,Riak,我正在用erlang为Riak编写一个mapreduce查询,我想通过Ubuntu终端上的curl使用HTTP API将参数传递到Riak。查询的输入是一个2i查询,但我需要一个允许进一步筛选的参数。我认为options是一个关键词,因为python客户机是我将在生产中使用的,但是它不方便校对我的Erlang,而且它是我的团队经常使用的关键词 这就是我正在尝试的: curl -X POST http://riakhost:port/mapred -H 'Content-Type: applica

我正在用erlang为Riak编写一个mapreduce查询,我想通过Ubuntu终端上的curl使用HTTP API将参数传递到Riak。查询的输入是一个2i查询,但我需要一个允许进一步筛选的参数。我认为options是一个关键词,因为python客户机是我将在生产中使用的,但是它不方便校对我的Erlang,而且它是我的团队经常使用的关键词

这就是我正在尝试的:

curl -X POST http://riakhost:port/mapred -H 'Content-Type: application/json' -d '{
    "inputs": {
        "bucket":"mybucket",
        "index":"field1_bin",
        "key":"val3"
    },
    "options": "test",
    "query": [
        {"map": {"language": "erlang", 
         "module": "mapreduce", 
         "function":"map"
        }},
    ]}'
在我看到的三项记录中:

["none", "none", "none"]
但我想:

["test", "test", "test"]
参数的格式是什么?

我在Erlang中开发了一个。由于我希望能够指定critera集,我决定允许用户将配置作为JSON文档传递进来,因为这对所有客户机类型都很有效,尽管其他文本表示也应该有效。README.markdown文件中提供了如何从curl使用这些函数的示例

您可以通过“arg”参数将参数传递给每个单独的map或reduce phase函数。此处指定的任何内容都将作为最终参数传递到映射或缩减阶段,请参见下面的示例:

"query":[{"map":{"language":"erlang","module":"riak_mapreduce_utils",
                 "function":"map_link","keep":false,
                 "arg":"{\"bucket\":\"master\"}"}},