Riak通过java客户端进行搜索查询



我正在尝试使用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运算符(以及其他查询运算符)?

我从Basho engeneer,Sean C.那里得到了这个答案:

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

名称:c1或名称:c2

名称:(c1或c2)

两种选择都对我有效!

最新更新