CREATE INDEX ix1 ON bucket( DISTINCT ARRAY v.text FOR v IN flavors END ) WHERE type = "candy";
SELECT * FROM bucket WHERE type = "candy" AND ANY v IN flavors SATISFIES v.text = "VANILLA" END;

At present ARRAY Indexing can index single field and index can have single array index key.

If there is equality predicates on both fields you can combine them as array in the index and query. Non equality predicates makes things much complex.

CREATE INDEX ix1 ON bucket( DISTINCT ARRAY [v.text, v.`number` ] FOR v IN flavors END ) WHERE type = "candy";
SELECT * FROM bucket WHERE type = "candy" AND ANY v IN flavors SATISFIES [v.text, v.`number`] = ["VANILLA", 60] END;