def METHOD_NAME(
    self,
    entity_type: Type[T],
    fqn_search_string: str,
    from_count: int = 0,
    size: int = 10,
    fields: Optional[List[str]] = None,
) -> Optional[List[T]]:
    """
    Given a service_name and some filters, search for entities using ES
    :param entity_type: Entity to look for
    :param fqn_search_string: string used to search by FQN. E.g., service.*.schema.table
    :param from_count: Records to expect
    :param size: Number of records
    :param fields: Fields to be returned
    :return: List of entities
    """
    query_string = self.fqdn_search.format(
        fqn=fqn_search_string,
        from_=from_count,
        size=size,
        index=ES_INDEX_MAP[entity_type.__name__],  # Fail if not exists
    )
    try:
        response = self._search_es_entity(
            entity_type=entity_type, query_string=query_string, fields=fields
        )
        return response
    except KeyError as err:
        logger.debug(traceback.format_exc())
        logger.warning(
            f"Cannot find the index in ES_INDEX_MAP for {entity_type.__name__}: {err}"
        )
    except Exception as exc:
        logger.debug(traceback.format_exc())
        logger.warning(
            f"Elasticsearch search failed for query [{query_string}]: {exc}"
        )
    return None