The UI is a web application. There is a set of thousands of objects. Each of them can optionally be labeled by 0-10 tags. Each tag is a key value pair - for example color: red
or taste: sour
.
The user should be able to search the objects based on 1-N tags. The interface should allow querying the objects based on:
- tag existence - Give me all objects featuring the tag key
color
- its value does not matter. - tag value - Give me all objects featuring the tag key's
color
value equalred
. - combination of above - Give me all objects featuring the tag key
taste
AND featuring the tag'scolor
value equalred
, etc.
Common web solutions like a tag-cloud or a simple auto-select box do not really fit - the tag-cloud selects only the key and auto-select produces only a key or a key value pair.
Having multiple auto-select boxes or even a "query" text input tend to be confusing.
Is there a clean UX solution to this problem?