Couchbase数组索引

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

Couchbase 5.0版

我试图通过数组索引来加速下面的查询,我无法做到正确。

SELECT DISTINCT document_data.* FROM `optima` AS optima 
UNNEST optima.documents AS document_data 
UNNEST document_data.attachments AS attachment_data 
WHERE optima.type = "accountDocument"
AND attachment_data.objectId IN ["18485,0"] 
AND attachment_data.objectType IN ["account","service","cart","order"];

我创建了以下索引,但附件元素上的数组索引似乎不起作用

CREATE PRIMARY INDEX `optima-primary-index` ON `optima` USING GSI;

CREATE INDEX idx_document_nested ON `optima`
(DISTINCT ARRAY document_data FOR document_data IN optima.documents END) 
WHERE type = "accountDocument";

CREATE INDEX idx_attachment_nested ON `optima`
    (DISTINCT ARRAY 
(DISTINCT ARRAY attachment_data FOR attachment_data IN document_data.attachments END) 
    FOR document_data IN optima.documents END) 
WHERE type = "accountDocument";

CREATE INDEX `idx_type` ON `optima`(`type`);

有什么建议?

indexing nosql couchbase n1ql
1个回答
2
投票

索引为attachment_data.objectId

CREATE INDEX idx_attachment_nested ON `optima`
    (DISTINCT ARRAY 
(DISTINCT ARRAY attachment_data.objectId FOR attachment_data IN document_data.attachments END) 
    FOR document_data IN optima.documents END) 
WHERE type = "accountDocument";
© www.soinside.com 2019 - 2024. All rights reserved.