2015-10-07 75 views
2

我面临的一个问题,我在这里查询使用镍Couchbase和我的查询是Couchbase:使用索引与镍查询,但指标没有更新立即出现

SELECT *   
FROM `user` 
USE INDEX (ord_ts_new_idx USING GSI) 
WHERE META(`user`).id LIKE 'ord::27::%' 
ORDER BY ts DESC 
OFFSET 0 LIMIT 5; 

但在这里,我所获得的价值不会更新,但如果我在某个时间后发出相同的请求,它会给我所需的输出。

,我已用于制作索引的查询是

CREATE INDEX ord_ts_new_idx ON `user-account`(`ts`) USING GSI; 

其中tsTimeStamp

所以,你能告诉我,如果有一种方式,我可以总是得到更新的数据?

在此先感谢。任何类型的帮助表示赞赏。

回答

1

您没有提及您使用的是哪个SDK,但您使用的是客户端SDK? N1QL提供了一个scan_consistency参数,所以这是确保您的客户端SDK使用它的问题。所以去here并找到您选择的语言。例如,here is the Java SDK section,请查看“阅读您自己的书写”。

只要预先警告,通过这样做的一切,你可以很好地采取性能处罚,因为索引需要刷新之前,你的结果。所以请确保你测试这个。

+0

是的,我已经试过这个,但每次我解雇这个查询它给了我一个超时异常。我已经通过将超时时间增加到500秒来进行测试,但仍然无法正常工作 –

相关问题