Esempio n. 1
0
    def _modify_params(self, params, only_count=False):
        if only_count:
            params["rows"] = 0
        elif "rows" not in params:
            params["rows"] = DEFAULT_ROWS
        if self._fq:
            params["fq"] = make_fq(self._fq)
        if "fl" not in params:
            params["fl"] = ("*", "score")
        # elif params.get('group') and 'group.field' in params \
        #         and params['group.field'] not in params['fl']:
        #     params['fl'] = params['fl'] + (params['group.field'],)
        # elif 'score' not in params['fl']:
        #     params['fl'] = params['fl'] + ('score',)

        # TODO: exclude filters for facet queries too
        if "facet.field" in params:
            for i, facet_field in enumerate(params["facet.field"]):
                if hasattr(self.searcher, "multi_valued_fields") and facet_field in self.searcher.multi_valued_fields:
                    params["facet.field"][i] = facet_field
                else:
                    params["facet.field"][i] = "{!ex=%s}%s" % (facet_field, facet_field)
        # set default params from searcher
        for p, v in self.searcher.default_params.items():
            if p not in params:
                params[p] = v
        return params
Esempio n. 2
0
 def _delete(self, solr, id=None, *args, **kwargs):
     commit = kwargs.pop('commit', True)
     q = None
     if args or kwargs:
         q = make_fq(X(*args, **kwargs))
     solr.delete(id, q, commit=commit)
Esempio n. 3
0
 def _delete(self, solr, id=None, *args, **kwargs):
     commit = kwargs.pop('commit', True)
     q = None
     if args or kwargs:
         q = make_fq(X(*args, **kwargs))
     solr.delete(id, q, commit=commit)