Hi there,
Good question!
One idea is to implement your own syntax (easy to do).
Let's say "blue!" means exclusively blue. To do this, index exclusively blue cards using "blue!" (check for exclusivity when indexing and append a ! if yes). Multicolor cards use the same technique. A blue and black card would – for category color – index: "blue", "black" (both not exclusive, findable searching for "blue", or "black"), and "blueblack!" (exclusive).
Then, when searching exclusively, search for "blueblack!" when blue, black, and exclusive are selected.
I assume you have checkboxes or similar in the interface – you can use the Picky "before" callback to insert values from checkboxes to queries.
You are very flexible how to do this. Perhaps a "!" at the beginning of the query means: "search exclusively". You could detect this in the server, and only search the "exclusive" index. (You'd have a special exclusive index and a normal index)
Play with the flexibility! :)
If you have more questions, let me know,
Florian