1


我正在使用couchbase 2.0.1版-企业版(build-170)和java-client 1.2.2版
我有一个自定义reduce函数来获取用户的最后一个活动
来自java客户端的响应不一致有时我得到正确的响应并且大多数时候我会针对有效键获得空值。即使是 Stale.FALSE 也无济于事!

查看的记录数约为 1 百万,查询的结果集约为 1K 键值对。我不确定这里可能是什么问题。如果有人可以提供帮助,那就太好了。

减少函数如下:

function (key, values, rereduce) {
    var currDate = 0;
    var activity = "";
    for(var idx in values){
        if(currDate < values[idx][0]){
            currDate = values[idx][0];
            activity = values[idx][1];
        }
    }
    return [currDate, activity];
}

查看查询:

CouchbaseClient cbc = Couchbase.getConnection();
Query query = new Query();
query.setIncludeDocs(false);
query.setSkip(0);
query.setLimit(10000);
query.setReduce(true);
query.setGroupLevel(4);
query.setRange(startKey,endKey);
View view = cbc.getView(document, view);
ViewResponse response = cbc.query(view, query);
4

1 回答 1

1

看起来我的应用程序中使用的 java-client 1.2.2 和 google gson 1.7.1 存在一些兼容性问题。

我切换到 java-client 1.2.3 和 google gson 2.2.4。现在一切都很好。

于 2013-12-27T06:13:51.647 回答