I want to be able to get all unique label keys for all docs.
Index:
CREATE INDEX idx3 ON bucket((distinct (array (distinct (array label for label in object_names((c.labels)) end)) for c in cat end)) WHERE (type = “cat”)
Query
Select labels
From `bucket`
WHERE (`type` = "cat")
AND ANY c in labels SATISFIES
(ANY label in object_names((`c`.`labels`)) SATISFIES tag IS NOT NULL END)
END
CREATE INDEX `idx3` ON `bucket` (type, ARRAY_DISTINCT(ARRAY_FLATTEN(ARRAY (ARRAY OBJECT_NAMES(l) FOR l IN c.label END ) FOR c IN cat END,2))) WHERE ( `type` = "cat");
SELECT DISTINCT RAW v
FROM `bucket` AS b
UNNEST ARRAY_DISTINCT(ARRAY_FLATTEN(ARRAY (ARRAY OBJECT_NAMES(l) FOR l IN c.label END ) FOR c IN b.cat END,2)) AS v
WHERE b.type = "cat";
I got working, the object_name should be moved to the c.labels,
SELECT DISTINCT RAW v
FROM bucket AS b
UNNEST ARRAY_DISTINCT(ARRAY_FLATTEN(ARRAY (ARRAY l FOR l IN OBJECT_NAMES(c.label) END ) FOR c IN b.cat END,2)) AS v
WHERE b.type = “cat”;
CREATE INDEX idx3 ON bucket(type,array_distinct(array_flatten(array array l for l in object_names((c.label)) end for c in cat end, 2))) WHERE (type = “cat”)
CREATE INDEX `idx3` ON `bucket` (type, ARRAY_DISTINCT(ARRAY_FLATTEN(ARRAY OBJECT_NAMES(c.label) FOR c IN cat END,2))) WHERE ( `type` = "cat");
SELECT DISTINCT RAW v
FROM `bucket` AS b
UNNEST ARRAY_DISTINCT(ARRAY_FLATTEN(ARRAY OBJECT_NAMES(c.label) FOR c IN b.cat END,2)) AS v
WHERE b.type = "cat";