Source code for pandagg.node.query.term_level

from .abstract import (
    LeafQueryClause,
    AbstractSingleFieldQueryClause,
    KeyFieldQueryClause,
)


[docs]class Exists(LeafQueryClause): KEY = "exists" def __init__(self, field, _name=None): self.field = field super(Exists, self).__init__(_name=_name, field=field)
[docs] def line_repr(self, depth, **kwargs): return self.KEY, "field=%s" % self.field
[docs]class Fuzzy(KeyFieldQueryClause): KEY = "fuzzy" _implicit_param = "value"
[docs]class Ids(LeafQueryClause): KEY = "ids" def __init__(self, values, _name=None): self.field = "id" self.values = values super(Ids, self).__init__(_name=_name, values=values)
[docs] def to_dict(self, with_name=True): b = {"values": self.values} if with_name and self._named: b["_name"] = self.name return {self.KEY: b}
[docs] def line_repr(self, depth, **kwargs): return self.KEY, "values=%s" % self.values
[docs]class Prefix(KeyFieldQueryClause): KEY = "prefix" _implicit_param = "value"
[docs]class Range(KeyFieldQueryClause): KEY = "range"
[docs]class Regexp(KeyFieldQueryClause): KEY = "regexp" _implicit_param = "value"
[docs]class Term(KeyFieldQueryClause): KEY = "term" _implicit_param = "value"
[docs]class Terms(AbstractSingleFieldQueryClause): KEY = "terms" def __init__(self, **body): _name = body.pop("_name", None) boost = body.pop("boost", None) if len(body) != 1: raise ValueError("Wrong declaration: %s" % body) field, terms = self.expand__to_dot(body).popitem() b = {field: terms} if boost is not None: b["boost"] = boost super(Terms, self).__init__(_name=_name, field=field, **b)
[docs]class TermsSet(KeyFieldQueryClause): KEY = "terms_set" _implicit_param = "terms"
[docs]class Type(KeyFieldQueryClause): KEY = "type" _implicit_param = "value"
[docs]class Wildcard(KeyFieldQueryClause): KEY = "wildcard" _implicit_param = "value"