Java Couchbase查询未看到最近添加的文档

Java Couchbase查询未看到最近添加的文档,java,couchbase,Java,Couchbase,我正在使用CouchBase 4.0和JavaSDK2.2执行测试。我插入了10个文档,它们的键总是以“190”开头 插入这10个文档后,我用以下方法查询它们: cb.restore("190", cache); Thread.sleep(100); cb.restore("190", cache); “还原”方法中的查询是: Statement st = Select.select("meta(c).id, c.*").from(this.bucketName + " c").where(E

我正在使用CouchBase 4.0和JavaSDK2.2执行测试。我插入了10个文档,它们的键总是以“190”开头

插入这10个文档后,我用以下方法查询它们:

cb.restore("190", cache);
Thread.sleep(100);
cb.restore("190", cache);
“还原”方法中的查询是:

Statement st = Select.select("meta(c).id, c.*").from(this.bucketName + " c").where(Expression.x("meta(c).id").like(Expression.s(callId + "_%")));
N1qlQueryResult result = bucket.query(st);
第一次调用restore返回0个文档:

Query 'SELECT meta(c).id, c.* FROM cache c WHERE meta(c).id LIKE "190_%"' --> Size = 0
Query 'SELECT meta(c).id, c.* FROM cache c WHERE meta(c).id LIKE "190_%"' --> Size = 10
第二次调用(100毫秒后)返回10个文档:

Query 'SELECT meta(c).id, c.* FROM cache c WHERE meta(c).id LIKE "190_%"' --> Size = 0
Query 'SELECT meta(c).id, c.* FROM cache c WHERE meta(c).id LIKE "190_%"' --> Size = 10
我尝试在“insert”语句中添加PersistTo.MASTER,但都不起作用

“插入”似乎没有立即持久化

任何帮助都将不胜感激


Joan.

您正在使用N1QL查询数据,N1QL最终是一致的(默认情况下),因此它只有在重新计算索引后才会显示。这与数据是否被持久化无关(意思是:从RAM写入光盘)

您可以尝试将扫描一致性级别从其默认值更改为非有界,以获得一致的结果,但这需要更长的时间才能返回