使用索引和 USE KEYS 的 N1QL 查询

N1QL Query using index and USE KEYS

我需要执行 N1QL 查询,其中一些记录可以通过索引属性来选择,而其他记录可以通过它们的 ID 来识别。我尝试使用

SELECT name FROM b WHERE collection in $cList OR meta().id IN $idList

但是这个 returns 一个错误,指出没有与我的查询匹配的可用索引。我可以将 UNION 与 2 个单独的查询一起使用:

SELECT name FROM b WHERE collection in $cList
UNION
SELECT name FROM b USE KEYS $idList

这是最好的方法吗?或者有什么方法可以在单个查询中组合索引和 USE KEYS 的结果吗?

联合查询是最好的选择,因为 USE KEYS 可以直接从 KV 中获取,而查询的其他部分可以使用索引。