'Pushes existing facet choices into the search.'

def narrow(self, query):

    if isinstance(query, SQ):
        empty_query = self.query._clone()
        empty_query._reset()
        query = query.as_query_string(empty_query.build_query_fragment)
    clone = self._clone()
    clone.query.add_narrow_query(query)
    return clone
