Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/271.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Indexing Couchbase-什么是异步索引?_Indexing_Couchbase - Fatal编程技术网

Indexing Couchbase-什么是异步索引?

Indexing Couchbase-什么是异步索引?,indexing,couchbase,Indexing,Couchbase,我在沙发上看书,偶然发现。我对索引的理解很高,但仅此而已。第二行同样难以理解 与Couchbase中的其他索引一样,主索引也是异步维护的。您可以通过设置查询的一致性级别来设置数据的最近性。这意味着,当文档存储在Couchbase中时,它将被放入一个队列中以进行索引。写入操作不会等待索引完成。设想一种情况,您的应用程序: 写一些文档,比如{'type':'invoice','foo':'bar',…等等…} 立即执行N1QL查询SELECT*FROM mybucket,其中类型='invoice'

我在沙发上看书,偶然发现。我对索引的理解很高,但仅此而已。第二行同样难以理解


与Couchbase中的其他索引一样,主索引也是异步维护的。您可以通过设置查询的一致性级别来设置数据的最近性。这意味着,当文档存储在Couchbase中时,它将被放入一个队列中以进行索引。写入操作不会等待索引完成。设想一种情况,您的应用程序:

写一些文档,比如{'type':'invoice','foo':'bar',…等等…} 立即执行N1QL查询SELECT*FROM mybucket,其中类型='invoice' 一个过于简单的解释:文档A将在步骤1之后排队进行索引。在步骤2中,N1QL未被绑定。默认情况下,SDK/Server将不被绑定,并且可能不会返回文档A,因为它尚未被索引。如果您的情况需要,您可以指定RequestPlus或AtPlus而不是NotBounded。这将使查询在执行查询之前等待索引完成

C语言中使用RequestPlus的示例:

var request = QueryRequest.Create("SELECT * FROM mybucket WHERE type = 'invoice'");
request.ScanConsistency(ScanConsistency.RequestPlus);
但这确实会影响性能!RequestPlus将是最糟糕的表现,无边界将是最好的,AtPube将在某个中间。

请注意,如果使用键/值访问而不是N1QL,则不必担心这一点。无论索引如何,您都可以通过文档的键直接访问文档

有关更多信息:


感谢您的详细解释和链接。我很感激