indexing - couchbase 索引如何对索引的无效文档和新的有效文档使用react?

标签 indexing couchbase sql++

每当您在具有特定条件的文档上建立索引时,如果条件不再为真,它会自动取消文档索引吗?

示例:

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

当我创建索引时,Abucket 上带有 field2='value' 的所有文档都将被索引。

但是如果文档更改 field2='value2' 会发生什么情况。然后,将其改回 value1

这如何适用于没有 field2 字段的文档,我猜这些根本就没有索引,但话又说回来,如果稍后添加该字段,它们会自动索引吗?

索引也可以有复杂的 where 查询吗?类似于 WHERE ifmissing(field2, ifnull(bla bla bla))='value2'

最佳答案

I'm guessing those are simply not indexed but then again, if later the field is added, are they automatically indexed?

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

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

但如果这就是您的发展方向,请允许我建议您谨慎行事。索引中 WHERE 子句的主要用例是将索引限制为某些类型的文档。索引的典型 WHERE 子句类似于 WHERE type = 'airport'。如果您发现自己用它们做了更复杂的事情,我建议您在继续之前要小心。

关于indexing - couchbase 索引如何对索引的无效文档和新的有效文档使用react?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55691642/

相关文章:

mysql - 如何在 MySQL 中使用前缀索引进行仅索引扫描

Python pandas 模糊时间索引

python - 通过 couchbase 查询获取 View 的最后一行

java - 跨多个线程/节点的 session 管理

arrays - 根据平面结构输出中的条件从数组返回特定​​项目

java - Spring-data-couchbase - 运行更新查询

java - 子字符串导致字符串索引超出范围错误

Couchbase N1QL 想要返回并计数

json - N1QL : add new object to existed couchbase document

java - Android Studio Java - 第一个数组显示第二个数组的索引值