I believe the index should be on the individual shopids, not on the whole array. See Example 1 in Array Indexing | Couchbase Docs. Note that the predicate must match the index definition. If you write your query like this, Index Advisor will show you the index to create
DELETE FROM my-db WHERE ANY sid IN shopInfo.shopId SATISFIES sid IN [“uuidxx123”] END;
The query system is designed for interactive applications to allow lots of concurrent queries and transactions. So, the resource and other defaults are designed for much smaller number of documents for each query. You’ll need to configure pipelinecap/scancap to improve the perf when handling large number of docs in a single query. See: Settings and Parameters | Couchbase Docs