@classmethod
def mget(cls, data):
    """Make a multi get

    data: list

    list: [1, 2, 3] <-- get the document 1,2,3 for the current class

    Check the doc for the different supported options
    https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-multi-get.html

    """
    from elasticsearch.exceptions import TransportError
    from collections import OrderedDict
    formatted_result = OrderedDict()
    conn = cls.get_connection()
    try:
        result = conn.mget(index=cls.get_index_name(), body={'ids': data})
    except TransportError:
        return {'total': 0, cls.get_index_name(): formatted_result}
    for one_doc in result.get('docs'):
        if one_doc.get('_source'):
            if cls.ID_KEY == '_id':
                formatted_result.update({one_doc[cls.ID_KEY]: one_doc[
                    '_source']})
            else:
                formatted_result.update({one_doc['_source'][cls.ID_KEY]:
                    one_doc['_source']})
        else:
            formatted_result.update({one_doc.get('_id'): False})
    return {'total': len(formatted_result), cls.get_index_name():
        formatted_result}
