Example #1
0
 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)
Example #2
0
    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