@classmethod
def _quick_search_es(cls, search_phrase, autocomplete=False):
    """
        Searches on elasticsearch server for given search phrase.

        TODO:

            * Add support for sorting
            * Migrate to aggregates from facets

        This method passes a query, alongwith term facets, to the search method
        for processing. For example, if one has a `~pyes.query.BoolQuery`
        object, and the product has attributes 'color' and 'size', one may pass
        them as terms as follows -:

        >>> query.facet.add_term_facet('color')
        >>> query.facet.add_term_facet('size')

        The resultset is then obtained and relevant data can be retrieved.

        >>> result_set = conn.search(query, **kwargs)
        >>> print result_set.facets['color']['terms']
        [
            {'count': 1, 'term': 'blue'},
            {'count': 2, 'term': 'black'},
            ...
        ]

        :param search_phrase: Searches for this particular phrase
        :param limit: The number of records to be returned
        :param autocomplete: A boolean which is set to True if the request
        comes from the autocomplete web handler
        :returns: `~pyes.es.ResultSet` object which contains each product's
        attributes
        """
    filterable_attributes = cls.get_filterable_attributes()
    es_filter = cls._build_es_filter(filterable_attributes=
        filterable_attributes)
    query = cls._build_es_query(search_phrase)
    search_obj = query.search(filter=es_filter)
    if not autocomplete:
        cls._update_es_facets(search_obj, facet_filter=es_filter,
            filterable_attributes=filterable_attributes)
    return search_obj
