1

我正在尝试使用 OR 运算符执行查询,如下所示:

  MapReduceResult result = riakClient.
            mapReduce("some_bucket", "Name:c1 OR c2").
            addMapPhase(new NamedJSFunction("Riak.mapValuesJson"), true).
            execute();

我只得到查询中的第一个对象(其中 name='c1')。如果我再次更改查询的顺序(即名称:c2 或 c1),我只会得到查询中的第一个对象(其中名称='c2')。

Java 客户端是否支持 OR 运算符(和其他查询运算符)?

4

1 回答 1

1

我从 Basho 工程师 Sean C. 那里得到了这个答案:

您要么需要对条款进行分组,要么对它们都进行限定。如果没有字段标识符,则搜索查询假定正在搜索默认字段。您可以使用“search-cmd explain”命令来确定如何解释查询。以下是表达查询的两种替代方式:

名称:c1 或名称:c2

名称:(c1 OR c2)

两种选择都对我有用!

于 2012-08-27T08:29:28.477 回答