def METHOD_NAME(self):
    if self.title:
        q = self.title
        if self.organization:
            q += ' "{}"'.format(self.organization)
        q = q.replace(':', ' ')
        data_dict = {
            'rows': 1,
            'facet': 'on',
            'facet.field': ['vocab_Topics'],
            'facet.limit': self.facet_limit,
            'qf': 'name^4 title^4 organization^2 groups^2 text',
            'mm': '2<-1 5<60%',
            'q': q
        }
        if self.extra_fq:
            data_dict['fq'] = self.extra_fq
        result = get_action('package_search')({}, data_dict)
        try:
            facet_dict = result['facets']['vocab_Topics']
            facet_list = sorted(
                ({'name':k, 'count':v} for k, v in facet_dict.items()),
                key=lambda facet_tuple: facet_tuple['count'],
                reverse=True
            )
            if len(facet_list) <= 2 and self.organization and self.with_retry:
                log.info(u'Retrying for {}'.format(q))
                self.organization = None
                return self.METHOD_NAME()
            # log.info('Recommened tags: ' + str(facet_list))
            return facet_list
        except KeyError as e:
            log.warn('No vocab_Topics facets found')
    return []