pandagg.query module¶
-
class
pandagg.query.
Query
(q=None, mappings=None, nested_autocorrect=False)[source]¶ Bases:
pandagg.tree._tree.Tree
-
applied_nested_path_at_node
(nid)[source]¶ Return nested path applied at a clause.
Parameters: nid – clause identifier Returns: None if no nested is applied, else applied path (str)
-
bool
(must=None, should=None, must_not=None, filter=None, insert_below=None, on=None, mode='add', **body)[source]¶ >>> Query().bool(must={"term": {"some_field": "yolo"}})
-
must
(type_or_query, insert_below=None, on=None, mode='add', bool_body=None, **body)[source]¶ Create copy of initial Query and insert provided clause under “bool” query “must”.
>>> Query().must('term', some_field=1) >>> Query().must({'term': {'some_field': 1}}) >>> from pandagg.query import Term >>> Query().must(Term(some_field=1))
Keyword Arguments: - insert_below (
str
) – named query clause under which the inserted clauses should be placed. - compound_param (
str
) – param under which inserted clause will be placed in compound query - on (
str
) – named compound query clause on which the inserted compound clause should be merged. - mode (
str
one of ‘add’, ‘replace’, ‘replace_all’) – merging strategy when inserting clauses on a existing compound clause.- ‘add’ (default) : adds new clauses keeping initial ones
- ‘replace’ : for each parameter (for instance in ‘bool’ case : ‘filter’, ‘must’, ‘must_not’, ‘should’), replace existing clauses under this parameter, by new ones only if declared in inserted compound query
- ‘replace_all’ : existing compound clause is completely replaced by the new one
- insert_below (
-
node_class
¶
-
query
(type_or_query, insert_below=None, on=None, mode='add', compound_param=None, **body)[source]¶ Insert provided clause in copy of initial Query.
>>> from pandagg.query import Query >>> Query().query('term', some_field=23) {'term': {'some_field': 23}}
>>> from pandagg.query import Term >>> Query()\ >>> .query({'term': {'some_field': 23})\ >>> .query(Term(other_field=24))\ {'bool': {'must': [{'term': {'some_field': 23}}, {'term': {'other_field': 24}}]}}
Keyword Arguments: - insert_below (
str
) – named query clause under which the inserted clauses should be placed. - compound_param (
str
) – param under which inserted clause will be placed in compound query - on (
str
) – named compound query clause on which the inserted compound clause should be merged. - mode (
str
one of ‘add’, ‘replace’, ‘replace_all’) – merging strategy when inserting clauses on a existing compound clause.- ‘add’ (default) : adds new clauses keeping initial ones
- ‘replace’ : for each parameter (for instance in ‘bool’ case : ‘filter’, ‘must’, ‘must_not’, ‘should’), replace existing clauses under this parameter, by new ones only if declared in inserted compound query
- ‘replace_all’ : existing compound clause is completely replaced by the new one
- insert_below (
-
show
(*args, line_max_length=80, **kwargs)[source]¶ Return compact representation of Query.
>>> Query() >>> .must({"exists": {"field": "some_field"}}) >>> .must({"term": {"other_field": {"value": 5}}}) >>> .show() <Query> bool └── must ├── exists field=some_field └── term field=other_field, value=5
All *args and **kwargs are propagated to lighttree.Tree.show method. :return: str
-
-
class
pandagg.query.
Exists
(field, _name=None)[source]¶ Bases:
pandagg.node.query.abstract.LeafQueryClause
-
KEY
= 'exists'¶
-
-
class
pandagg.query.
Fuzzy
(field=None, _name=None, _expand__to_dot=True, **params)[source]¶ Bases:
pandagg.node.query.abstract.KeyFieldQueryClause
-
KEY
= 'fuzzy'¶
-
-
class
pandagg.query.
Ids
(values, _name=None)[source]¶ Bases:
pandagg.node.query.abstract.LeafQueryClause
-
KEY
= 'ids'¶
-
-
class
pandagg.query.
Prefix
(field=None, _name=None, _expand__to_dot=True, **params)[source]¶ Bases:
pandagg.node.query.abstract.KeyFieldQueryClause
-
KEY
= 'prefix'¶
-
-
class
pandagg.query.
Range
(field=None, _name=None, _expand__to_dot=True, **params)[source]¶ Bases:
pandagg.node.query.abstract.KeyFieldQueryClause
-
KEY
= 'range'¶
-
-
class
pandagg.query.
Regexp
(field=None, _name=None, _expand__to_dot=True, **params)[source]¶ Bases:
pandagg.node.query.abstract.KeyFieldQueryClause
-
KEY
= 'regexp'¶
-
-
class
pandagg.query.
Term
(field=None, _name=None, _expand__to_dot=True, **params)[source]¶ Bases:
pandagg.node.query.abstract.KeyFieldQueryClause
-
KEY
= 'term'¶
-
-
class
pandagg.query.
Terms
(**body)[source]¶ Bases:
pandagg.node.query.abstract.AbstractSingleFieldQueryClause
-
KEY
= 'terms'¶
-
-
class
pandagg.query.
TermsSet
(field=None, _name=None, _expand__to_dot=True, **params)[source]¶ Bases:
pandagg.node.query.abstract.KeyFieldQueryClause
-
KEY
= 'terms_set'¶
-
-
class
pandagg.query.
Type
(field=None, _name=None, _expand__to_dot=True, **params)[source]¶ Bases:
pandagg.node.query.abstract.KeyFieldQueryClause
-
KEY
= 'type'¶
-
-
class
pandagg.query.
Wildcard
(field=None, _name=None, _expand__to_dot=True, **params)[source]¶ Bases:
pandagg.node.query.abstract.KeyFieldQueryClause
-
KEY
= 'wildcard'¶
-
-
class
pandagg.query.
Intervals
(field=None, _name=None, _expand__to_dot=True, **params)[source]¶ Bases:
pandagg.node.query.abstract.KeyFieldQueryClause
-
KEY
= 'intervals'¶
-
-
class
pandagg.query.
Match
(field=None, _name=None, _expand__to_dot=True, **params)[source]¶ Bases:
pandagg.node.query.abstract.KeyFieldQueryClause
-
KEY
= 'match'¶
-
-
class
pandagg.query.
MatchBoolPrefix
(field=None, _name=None, _expand__to_dot=True, **params)[source]¶ Bases:
pandagg.node.query.abstract.KeyFieldQueryClause
-
KEY
= 'match_bool_prefix'¶
-
-
class
pandagg.query.
MatchPhrase
(field=None, _name=None, _expand__to_dot=True, **params)[source]¶ Bases:
pandagg.node.query.abstract.KeyFieldQueryClause
-
KEY
= 'match_phrase'¶
-
-
class
pandagg.query.
MatchPhrasePrefix
(field=None, _name=None, _expand__to_dot=True, **params)[source]¶ Bases:
pandagg.node.query.abstract.KeyFieldQueryClause
-
KEY
= 'match_phrase_prefix'¶
-
-
class
pandagg.query.
MultiMatch
(fields, _name=None, **body)[source]¶ Bases:
pandagg.node.query.abstract.MultiFieldsQueryClause
-
KEY
= 'multi_match'¶
-
-
class
pandagg.query.
Common
(field=None, _name=None, _expand__to_dot=True, **params)[source]¶ Bases:
pandagg.node.query.abstract.KeyFieldQueryClause
-
KEY
= 'common'¶
-
-
class
pandagg.query.
QueryString
(_name=None, **body)[source]¶ Bases:
pandagg.node.query.abstract.LeafQueryClause
-
KEY
= 'query_string'¶
-
-
class
pandagg.query.
SimpleQueryString
(_name=None, **body)[source]¶ Bases:
pandagg.node.query.abstract.LeafQueryClause
-
KEY
= 'simple_string'¶
-
-
class
pandagg.query.
Bool
(_name=None, **body)[source]¶ Bases:
pandagg.node.query.compound.CompoundClause
>>> Bool(must=[], should=[], filter=[], must_not=[], boost=1.2)
-
KEY
= 'bool'¶
-
-
class
pandagg.query.
Boosting
(_name=None, **body)[source]¶ Bases:
pandagg.node.query.compound.CompoundClause
-
KEY
= 'boosting'¶
-
-
class
pandagg.query.
ConstantScore
(_name=None, **body)[source]¶ Bases:
pandagg.node.query.compound.CompoundClause
-
KEY
= 'constant_score'¶
-
-
class
pandagg.query.
FunctionScore
(_name=None, **body)[source]¶ Bases:
pandagg.node.query.compound.CompoundClause
-
KEY
= 'function_score'¶
-
-
class
pandagg.query.
DisMax
(_name=None, **body)[source]¶ Bases:
pandagg.node.query.compound.CompoundClause
-
KEY
= 'dis_max'¶
-
-
class
pandagg.query.
Nested
(path, **kwargs)[source]¶ Bases:
pandagg.node.query.compound.CompoundClause
-
KEY
= 'nested'¶
-
-
class
pandagg.query.
HasParent
(_name=None, **body)[source]¶ Bases:
pandagg.node.query.compound.CompoundClause
-
KEY
= 'has_parent'¶
-
-
class
pandagg.query.
HasChild
(_name=None, **body)[source]¶ Bases:
pandagg.node.query.compound.CompoundClause
-
KEY
= 'has_child'¶
-
-
class
pandagg.query.
ParentId
(_name=None, **body)[source]¶ Bases:
pandagg.node.query.abstract.LeafQueryClause
-
KEY
= 'parent_id'¶
-
-
class
pandagg.query.
Shape
(_name=None, **body)[source]¶ Bases:
pandagg.node.query.abstract.LeafQueryClause
-
KEY
= 'shape'¶
-
-
class
pandagg.query.
GeoShape
(field=None, _name=None, _expand__to_dot=True, **params)[source]¶ Bases:
pandagg.node.query.abstract.KeyFieldQueryClause
-
KEY
= 'geo_shape'¶
-
-
class
pandagg.query.
GeoPolygone
(field=None, _name=None, _expand__to_dot=True, **params)[source]¶ Bases:
pandagg.node.query.abstract.KeyFieldQueryClause
-
KEY
= 'geo_polygon'¶
-
-
class
pandagg.query.
GeoDistance
(distance, **body)[source]¶ Bases:
pandagg.node.query.abstract.AbstractSingleFieldQueryClause
-
KEY
= 'geo_distance'¶
-
-
class
pandagg.query.
GeoBoundingBox
(field=None, _name=None, _expand__to_dot=True, **params)[source]¶ Bases:
pandagg.node.query.abstract.KeyFieldQueryClause
-
KEY
= 'geo_bounding_box'¶
-
-
class
pandagg.query.
DistanceFeature
(field, _name=None, **body)[source]¶ Bases:
pandagg.node.query.abstract.FlatFieldQueryClause
-
KEY
= 'distance_feature'¶
-
-
class
pandagg.query.
MoreLikeThis
(fields, _name=None, **body)[source]¶ Bases:
pandagg.node.query.abstract.MultiFieldsQueryClause
-
KEY
= 'more_like_this'¶
-
-
class
pandagg.query.
Percolate
(field, _name=None, **body)[source]¶ Bases:
pandagg.node.query.abstract.FlatFieldQueryClause
-
KEY
= 'percolate'¶
-
-
class
pandagg.query.
RankFeature
(field, _name=None, **body)[source]¶ Bases:
pandagg.node.query.abstract.FlatFieldQueryClause
-
KEY
= 'rank_feature'¶
-
-
class
pandagg.query.
Script
(_name=None, **body)[source]¶ Bases:
pandagg.node.query.abstract.LeafQueryClause
-
KEY
= 'script'¶
-
-
class
pandagg.query.
Wrapper
(_name=None, **body)[source]¶ Bases:
pandagg.node.query.abstract.LeafQueryClause
-
KEY
= 'wrapper'¶
-
-
class
pandagg.query.
ScriptScore
(_name=None, **body)[source]¶ Bases:
pandagg.node.query.compound.CompoundClause
-
KEY
= 'script_score'¶
-
-
class
pandagg.query.
PinnedQuery
(_name=None, **body)[source]¶ Bases:
pandagg.node.query.compound.CompoundClause
-
KEY
= 'pinned'¶
-