'Query the solr HOST. _update parameter allows for supposed
easy memoization at later date.
Example result set:
u\'responseHeader\':{
u\'status\':0,
u\'QTime\':2,
u\'params\':{
u\'sort\':u\'activity desc\',
u\'defType\':u\'edismax\',
u\'q\':u\'coffee\',
u\'start\':u\'0\',
u\'wt\':u\'json\',
u\'size\':u\'1000\'
u\'response\':{
u\'start\':0,
u\'numFound\':1,
u\'docs\':[
u\'_version_\':1496564637825499136,
u\'type_id\':5,
u\'reddit\':u\'coffee\',
u\'fullname\':u\'t5_3\',
u\'author\':u\'grandpa\',
u\'url\':u\'http://hamsandwich.com/sideoffries/?attachment_id=44\',
u\'num_comments\':0,
u\'downs\':1,
u\'title\':u\'013\',
u\'site\':u"[u\'reddit.com\',u\'hamsandwich.reddit.com\']",
u\'author_s\': u\'grandpa\',
u\'over18\': False,
u\'timestamp\': 1427180669,
u\'sr_id\': 2,
u\'author_fullname\': u\'t2_1\',
u\'is_self\': False,
u\'subreddit\': u\'coffee\',
u\'ups\': 0, u\'id\': u\'t5_3\'},'

@classmethod
def _run_cached(cls, query, bq, sort='score', faceting=None, start=0, num=1000, _update=False):

    if (not query):
        return Results([], 0, {})
    try:
        response = basic_query(query=query, bq=bq, size=num, start=start, rank=sort, search_api=cls.search_api, faceting=faceting, record_stats=True)
    except (SearchHTTPError, SearchError) as e:
        g.log.error('Search    Error:    %r', e)
        raise
    hits = response['response']['numFound']
    docs = [doc['id'] for doc in response['response']['docs']]
    facets = {}
    if (hits and faceting):
        facet_fields = response['facet_counts'].get('facet_fields', {})
        for field in facet_fields:
            facets[field] = []
            while facet_fields[field]:
                value = facet_fields[field].pop(0)
                count = facet_fields[field].pop(0)
                facets[field].append(dict(value=value, count=count))
    results = Results(docs, hits, facets)
    return results
