def __unicode__(self): params = prepare_params(self._modify_params(deepcopy(self._params))) p = [] p.append(("q", safe_solr_query(self._q).encode("utf-8"))) for k, v in params.items(): if hasattr(v, "__iter__"): for w in v: p.append((k, w)) else: p.append((k, v)) return urllib.urlencode(p, True)
def _do_search(self, only_count=False): params = self._modify_params(deepcopy(self._params)) # if 'fq' in params: # print 'fq:', params['fq'] # print params raw_results = self.searcher.select(safe_solr_query(self._q), **prepare_params(params)) results = SearchResult(self.searcher, raw_results.hits, self._prefetch, self._filter_instances) if raw_results.grouped: results.add_grouped_docs(raw_results.grouped) else: results.add_docs(raw_results.docs) results.add_facets(self._process_facets(raw_results.facets)) results.total_hits = getattr(raw_results, "total_hits", raw_results.hits) return results