我创建了此索引:
CREATE INDEX `idx_orders` ON
`order`(
distinct(
ARRAY (s.dateTime) FOR s IN additionalStatus
WHEN ((s.statusTypeCode = 'LOGISTICAL') AND (s.statusCode = 'CANCELLED' OR s.statusCode = 'TREATED')) END
)
)
当我执行此查询时:
SELECT META(`order`).id FROM `order`
where ANY s in additionalStatus SATISFIES ( s.dateTime < 297798785) AND ((s.statusTypeCode = 'LOGISTICAL') AND (s.statusCode = 'CANCELLED' OR s.statusCode = 'TREATED')) END
没有索引被击中,我得到这个错误:
键空间顺序上没有与您的查询匹配的索引。采用 CREATE INDEX或CREATE PRIMARY INDEX以创建索引,或检查 您预期的索引是在线的
但是当我添加where子句和orderCategory!='CA1'时,我会得到结果
我认为我的索引(具有相同名称)的某些旧版本包含orderCategory字段仍然存在,即使删除索引并重新创建它也不会被删除。