couchbase索引如何对索引的无效文档和新的有效文档做出反应?

问题描述 投票:2回答:1

每当你有一个具有特定条件的文档的索引时,如果条件永远停止为真,它是否会自动对文档进行自动索引?

例:

index a on Abucket(field) where field2='value'

当我创建索引时,将使用field2='value'将Abucket上的所有文档编入索引。

但是如果文件改变field2='value2'会发生什么。然后,将它改回value1

如何对没有field2字段的文档起作用,我猜这些文档根本没有编入索引,但是如果稍后添加字段,它们会自动编入索引吗?

并且索引也可以在哪里查询?类似于WHERE ifmissing(field2, ifnull(bla bla bla))='value2'

indexing couchbase n1ql
1个回答
3
投票

我猜这些根本就没有编入索引,但是如果稍后添加字段,它们会自动编入索引吗?

是的,我们应该正确处理字段更改的情况,即使在indexe的WHERE子句中引用了这些字段。

我们还支持索引中WHERE子句的复杂表达式。

但如果这是你要去的地方,那么请告诉我一些警告。索引中WHERE子句的主要用例是将索引限制为某些类型的文档。索引的典型WHERE子句类似于WHERE type = 'airport'。如果你发现自己做了一些更复杂的事情,我建议你在继续之前要谨慎一些。

© www.soinside.com 2019 - 2024. All rights reserved.