我使用的是couchbase版本2.0.1 - 企业版(build-170)和java-client版本1.2.2
我有一个自定义缩减功能来获取用户的最后一个活动
来自java客户端的响应是不一致的当我得到正确的响应时,大多数时候我得到有效键的空值。即使是Stale.FALSE也没有帮助!!
视图中的记录数约为1 millon,查询的结果集是arounk 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);
答案 0 :(得分:1)
看起来我的应用程序中使用的java-client 1.2.2和google gson 1.7.1存在一些兼容性问题。
我切换到java-client 1.2.3和google gson 2.2.4。事情现在变得很好。