pandagg.query module¶
-
class
pandagg.query.
Query
(*args, **kwargs)[source]¶ Bases:
pandagg.tree._tree.Tree
Combination of query clauses.
Mapping declaration is optional, but doing so validates query validity and automatically inserts nested clauses when necessary.
Keyword Arguments: - mapping (
dict
orpandagg.tree.mapping.Mapping
) – Mapping of requested indice(s). Providing it will add validation features, and add required nested clauses if missing. - nested_autocorrect (
bool
) – In case of missing nested clauses in query, if True, automatically add missing nested clauses, else raise error. - remaining kwargs: Used as body in query clauses.
-
KEY
= None¶
-
node_class
¶
-
query
(*args, **kwargs)[source]¶ Insert new clause(s) in current query.
Inserted clause can accepts following syntaxes.
Given an empty query:
>>> from pandagg.query import Query >>> q = Query()
flat syntax: clause type, followed by query clause body as keyword arguments:
>>> q.query('term', some_field=23) {'term': {'some_field': 23}}
from regular Elasticsearch dict query:
>>> q.query({'term': {'some_field': 23}}) {'term': {'some_field': 23}}
using pandagg DSL:
>>> from pandagg.query import Term >>> q.query(Term(field=23)) {'term': {'some_field': 23}}
Keyword Arguments: - parent (
str
) – named query clause under which the inserted clauses should be placed. - parent_param (
str
optional parameter when using parent param) – parameter under which inserted clauses will be placed. For instance if parent clause is a boolean, can be ‘must’, ‘filter’, ‘should’, ‘must_not’. - child (
str
) – named query clause above which the inserted clauses should be placed. - child_param (
str
optional parameter when using parent param) – parameter of inserted boolean clause under which child clauses will be placed. For instance if inserted clause is a boolean, can be ‘must’, ‘filter’, ‘should’, ‘must_not’. - 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
- parent (
-
show
(*args, **kwargs)[source]¶ Return tree structure in hierarchy style.
Parameters: - nid – Node identifier from which tree traversal will start. If None tree root will be used
- filter_ – filter function performed on nodes. Nodes excluded from filter function nor their children won’t be displayed
- reverse – the
reverse
param for sortingNode
objects in the same level - key – key used to order nodes of same parent
- reverse – reverse parameter applied at sorting
- line_type – display type choice
- limit – int, truncate tree display to this number of lines
- kwargs – kwargs params passed to node
line_repr
method
Return type: unicode in python2, str in python3
- mapping (
-
class
pandagg.query.
Exists
(*args, **kwargs)[source]¶ Bases:
pandagg.tree.query.abstract.Leaf
-
KEY
= 'exists'¶
-
-
class
pandagg.query.
Fuzzy
(*args, **kwargs)[source]¶ Bases:
pandagg.tree.query.abstract.Leaf
-
KEY
= 'fuzzy'¶
-
-
class
pandagg.query.
Ids
(*args, **kwargs)[source]¶ Bases:
pandagg.tree.query.abstract.Leaf
-
KEY
= 'ids'¶
-
-
class
pandagg.query.
Prefix
(*args, **kwargs)[source]¶ Bases:
pandagg.tree.query.abstract.Leaf
-
KEY
= 'prefix'¶
-
-
class
pandagg.query.
Range
(*args, **kwargs)[source]¶ Bases:
pandagg.tree.query.abstract.Leaf
-
KEY
= 'range'¶
-
-
class
pandagg.query.
Regexp
(*args, **kwargs)[source]¶ Bases:
pandagg.tree.query.abstract.Leaf
-
KEY
= 'regexp'¶
-
-
class
pandagg.query.
Term
(*args, **kwargs)[source]¶ Bases:
pandagg.tree.query.abstract.Leaf
-
KEY
= 'term'¶
-
-
class
pandagg.query.
Terms
(*args, **kwargs)[source]¶ Bases:
pandagg.tree.query.abstract.Leaf
-
KEY
= 'terms'¶
-
-
class
pandagg.query.
TermsSet
(*args, **kwargs)[source]¶ Bases:
pandagg.tree.query.abstract.Leaf
-
KEY
= 'terms_set'¶
-
-
class
pandagg.query.
Type
(*args, **kwargs)[source]¶ Bases:
pandagg.tree.query.abstract.Leaf
-
KEY
= 'type'¶
-
-
class
pandagg.query.
Wildcard
(*args, **kwargs)[source]¶ Bases:
pandagg.tree.query.abstract.Leaf
-
KEY
= 'wildcard'¶
-
-
class
pandagg.query.
Intervals
(*args, **kwargs)[source]¶ Bases:
pandagg.tree.query.abstract.Leaf
-
KEY
= 'intervals'¶
-
-
class
pandagg.query.
Match
(*args, **kwargs)[source]¶ Bases:
pandagg.tree.query.abstract.Leaf
-
KEY
= 'match'¶
-
-
class
pandagg.query.
MatchBoolPrefix
(*args, **kwargs)[source]¶ Bases:
pandagg.tree.query.abstract.Leaf
-
KEY
= 'match_bool_prefix'¶
-
-
class
pandagg.query.
MatchPhrase
(*args, **kwargs)[source]¶ Bases:
pandagg.tree.query.abstract.Leaf
-
KEY
= 'match_phrase'¶
-
-
class
pandagg.query.
MatchPhrasePrefix
(*args, **kwargs)[source]¶ Bases:
pandagg.tree.query.abstract.Leaf
-
KEY
= 'match_phrase_prefix'¶
-
-
class
pandagg.query.
MultiMatch
(*args, **kwargs)[source]¶ Bases:
pandagg.tree.query.abstract.Leaf
-
KEY
= 'multi_match'¶
-
-
class
pandagg.query.
Common
(*args, **kwargs)[source]¶ Bases:
pandagg.tree.query.abstract.Leaf
-
KEY
= 'common'¶
-
-
class
pandagg.query.
QueryString
(*args, **kwargs)[source]¶ Bases:
pandagg.tree.query.abstract.Leaf
-
KEY
= 'query_string'¶
-
-
class
pandagg.query.
SimpleQueryString
(*args, **kwargs)[source]¶ Bases:
pandagg.tree.query.abstract.Leaf
-
KEY
= 'simple_string'¶
-
-
class
pandagg.query.
Bool
(**kwargs)[source]¶ Bases:
pandagg.tree.query.abstract.Compound
-
KEY
= 'bool'¶
-
-
class
pandagg.query.
Boosting
(**kwargs)[source]¶ Bases:
pandagg.tree.query.abstract.Compound
-
KEY
= 'boosting'¶
-
-
class
pandagg.query.
ConstantScore
(**kwargs)[source]¶ Bases:
pandagg.tree.query.abstract.Compound
-
KEY
= 'constant_score'¶
-
-
class
pandagg.query.
FunctionScore
(**kwargs)[source]¶ Bases:
pandagg.tree.query.abstract.Compound
-
KEY
= 'function_score'¶
-
-
class
pandagg.query.
DisMax
(**kwargs)[source]¶ Bases:
pandagg.tree.query.abstract.Compound
-
KEY
= 'dis_max'¶
-
-
class
pandagg.query.
Nested
(**kwargs)[source]¶ Bases:
pandagg.tree.query.abstract.Compound
-
KEY
= 'nested'¶
-
-
class
pandagg.query.
HasParent
(**kwargs)[source]¶ Bases:
pandagg.tree.query.abstract.Compound
-
KEY
= 'has_parent'¶
-
-
class
pandagg.query.
HasChild
(**kwargs)[source]¶ Bases:
pandagg.tree.query.abstract.Compound
-
KEY
= 'has_child'¶
-
-
class
pandagg.query.
ParentId
(**kwargs)[source]¶ Bases:
pandagg.tree.query.abstract.Compound
-
KEY
= 'parent_id'¶
-
-
class
pandagg.query.
Shape
(*args, **kwargs)[source]¶ Bases:
pandagg.tree.query.abstract.Leaf
-
KEY
= 'shape'¶
-
-
class
pandagg.query.
GeoShape
(*args, **kwargs)[source]¶ Bases:
pandagg.tree.query.abstract.Leaf
-
KEY
= 'geo_shape'¶
-
-
class
pandagg.query.
GeoPolygone
(*args, **kwargs)[source]¶ Bases:
pandagg.tree.query.abstract.Leaf
-
KEY
= 'geo_polygon'¶
-
-
class
pandagg.query.
GeoDistance
(*args, **kwargs)[source]¶ Bases:
pandagg.tree.query.abstract.Leaf
-
KEY
= 'geo_distance'¶
-
-
class
pandagg.query.
GeoBoundingBox
(*args, **kwargs)[source]¶ Bases:
pandagg.tree.query.abstract.Leaf
-
KEY
= 'geo_bounding_box'¶
-
-
class
pandagg.query.
DistanceFeature
(*args, **kwargs)[source]¶ Bases:
pandagg.tree.query.abstract.Leaf
-
KEY
= 'distance_feature'¶
-
-
class
pandagg.query.
MoreLikeThis
(*args, **kwargs)[source]¶ Bases:
pandagg.tree.query.abstract.Leaf
-
KEY
= 'more_like_this'¶
-
-
class
pandagg.query.
Percolate
(*args, **kwargs)[source]¶ Bases:
pandagg.tree.query.abstract.Leaf
-
KEY
= 'percolate'¶
-
-
class
pandagg.query.
RankFeature
(*args, **kwargs)[source]¶ Bases:
pandagg.tree.query.abstract.Leaf
-
KEY
= 'rank_feature'¶
-
-
class
pandagg.query.
Script
(*args, **kwargs)[source]¶ Bases:
pandagg.tree.query.abstract.Leaf
-
KEY
= 'script'¶
-
-
class
pandagg.query.
Wrapper
(*args, **kwargs)[source]¶ Bases:
pandagg.tree.query.abstract.Leaf
-
KEY
= 'wrapper'¶
-
-
class
pandagg.query.
ScriptScore
(**kwargs)[source]¶ Bases:
pandagg.tree.query.abstract.Compound
-
KEY
= 'script_score'¶
-
-
class
pandagg.query.
PinnedQuery
(**kwargs)[source]¶ Bases:
pandagg.tree.query.abstract.Compound
-
KEY
= 'pinned'¶
-