I’m using Couchbase server 4.5. I believe it supports array indexing. I am trying to find count / list of document, based on an array element present in document. Following is my document structure:
“101”: “32 inch”
I have around 1 million such documents and I need to find some documents based on a certain category id present in categories array.
I executed following query.
SELECT count(meta().id) FROM
cms WHERE _type = “Product” AND _active = TRUE AND ANY category IN categories SATISFIES category = “17” END;
It took around 1 min 20 sec to get the result on cbq shell. To reduce query time i also created following index:
categories end))) WHERE ((
_type = “Product”) and (
_active = true));
On using EXPLAIN with above SELECT query, it shows that it is using this INDEX.
But the query executing time is same as earlier. I want to understand am i creating index correctly or am i missing something here.
I have to reduce this time anyhow as this is affecting my application. Please guide.
Thanks in advance