1

次のようにOR演算子を使用してクエリを実行しようとしています。

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

クエリの最初のオブジェクトのみを取得します(name ='c1')。クエリの順序(つまり、Name:c2 OR c1)を再度変更すると、クエリの最初のオブジェクト(name ='c2')のみが取得されます。

OR演算子(およびその他のクエリ演算子)はJavaクライアントでサポートされていますか?

4

1 に答える 1

1

私はBashoのエンジニアであるSeanCからこの回答を得ました。

用語をグループ化するか、両方を修飾する必要があります。フィールド識別子がない場合、検索クエリはデフォルトのフィールドが検索されていると想定します。'search-cmd Explain'コマンドを使用して、クエリがどのように解釈されるかを決定できます。クエリを表現する2つの代替方法は次のとおりです。

名前:c1または名前:c2

名前:(c1またはc2)

両方のオプションが私のために働いた!

于 2012-08-27T08:29:28.477 に答える