COmpoisite Index

SELECT * FROM bucket WHERE type = ‘instance’ and (field.roleId ==‘102419231’ or queue in [2,1,52]) limit 100;

What should be index for this i tried same as above individual but not improving.
Using Or condition with In operation impacting the query.

Option 1: Uses UnionScan with two indexes

CREATE INDEX ix1 ON bucket(field.roleId) WHERE type = "instance";
 CREATE INDEX ix2 ON bucket(queue) WHERE type = "instance";

OR

     CREATE INDEX ix1 ON bucket(type, field.roleId, queue) WHERE type = "instance";
     If you think you have field.roleId in all documents or want  queue matched want documents that have filed.roleId has value only try the following query.
    SELECT * FROM bucket WHERE type = ‘instance’ and field.roleId  IS  NOT MISSING AND (field.roleId ==‘102419231’ or queue in [2,1,52]) limit 100;

Thanks its working with index what is shared.