Metadata matching searching, match has to encompass

vector1: { “genre”: [“comedy”] }
vector2: { “genre”: [“comedy”, “documentary”] }

search: [comedy, action]
vector 1 matches because all it has is comedy
vector 2 doesn’t match because it’s both comedy and documentary.

Basically the search terms are greater than the vector metadata, but will match if 100% of the meta data is within the search term

example 2
vector1: { “genre”: [“comedy”, “action”] }
vector2: { “genre”: [“comedy”, “action”, “documentary”] }
vector3: { “genre”: [“action”] }

search: [comedy, action]
both vector1 and vector3 will produce a match but not vector 2.

Have you tried some of the filter operators like “in”?

"filter": {"genre": {"$in": ["action", "drama"]}}