SELECT q1, q2 LET q1 = (Select ht.* FROMmybucketas mb WHERE mb.recdate IN (SELECT RAW MAX(recdate) FROMmybucketas mbt WHERE mbt.deviceID = "10101")), q2 = (Select ht.* FROMmybucketas mb WHERE mb.recdate IN (SELECT RAW MAX(recdate) FROMmybucketas mbt WHERE mbt.deviceID = "10001"));
Treat each subquery as separate query and create index based on that. If predicate has dynamic values those will not be pushed to indexer (i.e values must be constants or query parameters).
If you are looking for document that has largest value you can try this
CREATE INDEX ix1 ON mybucket(deviceID);
SELECT maxdoc.*
FROM mybucket AS mb
WHERE mb.deviceID = "10101"
LETTING maxdoc = MAX([mb.recdate, mb])[1];