'Search for titles matching the `title`.
:param str title: the title to search for.
:return: found titles.
:rtype: dict'

@region.cache_on_arguments(expiration_time=SHOW_EXPIRATION_TIME)
def search_titles(self, title):

    logger.info('Searching    title    %r', title)
    r = self.session.get((self.server_url + 'legenda/sugestao/{}'.format(title)), timeout=10)
    r.raise_for_status()
    results = json.loads(r.text)
    titles = {}
    for result in results:
        source = result['_source']
        title_id = int(source['id_filme'])
        title = {'type': type_map[source['tipo']], 'title': source['dsc_nome']}
        if (source['dsc_data_lancamento'] and source['dsc_data_lancamento'].isdigit()):
            title['year'] = int(source['dsc_data_lancamento'])
        if (source['id_imdb'] != '0'):
            if (not source['id_imdb'].startswith('tt')):
                title['imdb_id'] = ('tt' + source['id_imdb'].zfill(7))
            else:
                title['imdb_id'] = source['id_imdb']
        if (title['type'] == 'episode'):
            if (source['temporada'] and source['temporada'].isdigit()):
                title['season'] = int(source['temporada'])
            else:
                match = season_re.search(source['dsc_nome_br'])
                if match:
                    title['season'] = int(match.group('season'))
                else:
                    logger.warning('No    season    detected    for    title    %d', title_id)
        titles[title_id] = title
    logger.debug('Found    %d    titles', len(titles))
    return titles
