【发布时间】:2019-08-08 06:22:40
【问题描述】:
我们在使用 couchbase N1QL 查询时遇到问题。
我们有一个索引定义如下:
CREATE INDEX `AppUser_SubjectId3` ON `Portal`(`SubjectId`) WHERE ((meta(self).`id`) like `AppUser%`)
然后我们尝试运行以下查询:
SELECT RAW `Extent1`
FROM `Portal` as `Extent1`
USE INDEX (`AppUser_SubjectId3` USING GSI)
WHERE (`Extent1`.`SubjectId` = 'c8ea08231c3a985a06342355b87d6e2d6290a985d5c3592e5b8e5e5f14608a08')
并得到以下错误:
键空间门户上没有与您的查询匹配的可用索引。
使用 CREATE INDEX 或 CREATE PRIMARY INDEX 创建索引,
或检查您的预期索引是否在线。
我们已经确认该索引已在线。唯一值得注意的是 Bucket 目前实际上不包含任何文档,但我们不会期望在这种情况下出现此错误,根本不会返回任何内容。
有什么想法吗?
编辑:
我创建了另一个没有 WHERE 子句的索引,它不再返回错误。
CREATE INDEX `AppUser_SubjectId4` ON `Portal`(`SubjectId`)
唯一的问题是需要WHERE子句!
【问题讨论】: