'Accepts a list of field names and a prefix
Returns a dictionary keyed on field name containing a list of
``(term, count)`` pairs
Requires Solr 1.4+.'

def suggest_terms(self, fields, prefix, handler=u'terms', **kwargs):

    params = {u'terms.fl': fields, u'terms.prefix': prefix}
    params.update(kwargs)
    response = self._suggest_terms(params, handler=handler)
    result = self.decoder.decode(response)
    terms = result.get(u'terms', {})
    res = {}
    if isinstance(terms, (list, tuple)):
        terms = dict(zip(terms[0::2], terms[1::2]))
    for (field, values) in terms.items():
        tmp = list()
        while values:
            tmp.append((values.pop(0), values.pop(0)))
        res[field] = tmp
    self.log.debug(u"Found    '%d'    Term    suggestions    results.", sum((len(j) for (i, j) in res.items())))
    return res
