'Get multi JSON documents.
ids can be:
list of tuple: (index, type, id)
list of ids: index and doc_type are required'

def mget(self, ids, index=None, doc_type=None, **query_params):

    if (not ids):
        return []
    body = []
    for value in ids:
        if isinstance(value, tuple):
            if (len(value) == 3):
                (a, b, c) = value
                body.append({'_index': a, '_type': b, '_id': c})
            elif (len(value) == 4):
                (a, b, c, d) = value
                body.append({'_index': a, '_type': b, '_id': c, 'fields': d})
        else:
            if (index is None):
                raise InvalidQuery('index    value    is    required    for    id')
            if (doc_type is None):
                raise InvalidQuery('doc_type    value    is    required    for    id')
            body.append({'_index': index, '_type': doc_type, '_id': value})
    results = self._send_request('GET', '/_mget', body={'docs': body}, params=query_params)
    if ('docs' in results):
        model = self.model
        return [model(self, item) for item in results['docs']]
    return []
