We expose CiviCRM contact tags (Tag Name) fields via Drupal Views in order to create simple contacts search by tag(s) via Drupal as front-end. Since almost every contact has more than one tag, "Allow multiple selections" option for exposed filter is being selected in order to narrow searches. However, search by multiple tags gives all contacts, not an "exact match" (mean, only contacts which have all of selected tags).
Example:
Bob has "black", "white", "yellow" tags;
Sarah has "red" and "yellow" tags.
Searching by "yellow" returns Bob and Sarah
Searching by "black" and "yellow" returns Bob and Sarah again, while we've expected to get Bob only.
How it would be possible to perform an exact match search?
Drupal 7.x, CiviCRM 6.21
P.S. civicrm.core.inc describes "civicrm_handler_filter_pseudo_constant" as exposed filter handler for civicrm tag field; civicrm_handler_filter_pseudo_constant extends views_handler_field_in_operator and allows only "Is one of" and "Is not one of" operators to choose from; wouldn't it be more logical to use something like "many_to_one" handler? If memory serves, it's being used for Drupal taxonomy and provides exact match for search nodes by multiple taxonomy terms.