code: def _do_multivalued_field_facets(self, results, field_facets):
          
          facet_dict = {}
  
          for field in field_facets:
              facet_list = {}
              if not self._multi_value_field(field):
                  continue
  
              for result in results:
                  field_value = getattr(result, field)
                  for item in field_value:  # Facet each item in a MultiValueField
                      facet_list[item] = facet_list.get(item, 0) + 1
  
              facet_dict[field] = list(facet_list.items())
          return facet_dict
docs: Implements a multivalued field facet on the results.
  
          This is implemented using brute force - O(N^2) -
          because Xapian does not have it implemented yet
          (see http://trac.xapian.org/ticket/199)