pandagg.mappings module¶
-
class
pandagg.mappings.
Mappings
(properties=None, dynamic=False, **kwargs)[source]¶ Bases:
pandagg.tree._tree.Tree
-
list_nesteds_at_field
(field_path)[source]¶ List nested paths that apply at a given path.
>>> mappings = Mappings(dynamic=False, properties={ >>> 'id': {'type': 'keyword'}, >>> 'comments': {'type': 'nested', 'properties': { >>> 'comment_text': {'type': 'text'}, >>> 'date': {'type': 'date'} >>> }} >>> }) >>> mappings.list_nesteds_at_field('id') [] >>> mappings.list_nesteds_at_field('comments') ['comments'] >>> mappings.list_nesteds_at_field('comments.comment_text') ['comments']
-
mapping_type_of_field
(field_path)[source]¶ Return field type of provided field path.
>>> mappings = Mappings(dynamic=False, properties={ >>> 'id': {'type': 'keyword'}, >>> 'comments': {'type': 'nested', 'properties': { >>> 'comment_text': {'type': 'text'}, >>> 'date': {'type': 'date'} >>> }} >>> }) >>> mappings.mapping_type_of_field('id') 'keyword' >>> mappings.mapping_type_of_field('comments') 'nested' >>> mappings.mapping_type_of_field('comments.comment_text') 'text'
-
nested_at_field
(field_path)[source]¶ Return nested path applied on a given path. Return None is none applies.
>>> mappings = Mappings(dynamic=False, properties={ >>> 'id': {'type': 'keyword'}, >>> 'comments': {'type': 'nested', 'properties': { >>> 'comment_text': {'type': 'text'}, >>> 'date': {'type': 'date'} >>> }} >>> }) >>> mappings.nested_at_field('id') None >>> mappings.nested_at_field('comments') 'comments' >>> mappings.nested_at_field('comments.comment_text') 'comments'
-
node_class
¶ alias of
pandagg.node.mappings.abstract.Field
-
to_dict
(from_=None, depth=None)[source]¶ Serialize Mappings as dict.
Parameters: from – identifier of a field, if provided, limits serialization to this field and its children (used for recursion, shouldn’t be useful) :param depth: integer, if provided, limit the serialization to a given depth :return: dict
-
validate_agg_clause
(agg_clause, exc=True)[source]¶ Ensure that if aggregation clause relates to a field (field or path) this field exists in mappings, and that required aggregation type is allowed on this kind of field.
Parameters: - agg_clause – AggClause you want to validate on these mappings
- exc – boolean, if set to True raise exception if invalid
Return type: boolean
-
-
class
pandagg.mappings.
IMappings
(mappings, client=None, index=None, depth=1, root_path=None, initial_tree=None)[source]¶ Bases:
pandagg.utils.DSLMixin
,lighttree.interactive.TreeBasedObj
Interactive wrapper upon mappings tree, allowing field navigation and quick access to single clause aggregations computation.
-
class
pandagg.mappings.
Text
(**body)[source]¶ Bases:
pandagg.node.mappings.abstract.RegularField
-
KEY
= 'text'¶
-
-
class
pandagg.mappings.
Keyword
(**body)[source]¶ Bases:
pandagg.node.mappings.abstract.RegularField
-
KEY
= 'keyword'¶
-
-
class
pandagg.mappings.
ConstantKeyword
(**body)[source]¶ Bases:
pandagg.node.mappings.abstract.RegularField
-
KEY
= 'constant_keyword'¶
-
-
class
pandagg.mappings.
WildCard
(**body)[source]¶ Bases:
pandagg.node.mappings.abstract.RegularField
-
KEY
= 'wildcard'¶
-
-
class
pandagg.mappings.
Long
(**body)[source]¶ Bases:
pandagg.node.mappings.abstract.RegularField
-
KEY
= 'long'¶
-
-
class
pandagg.mappings.
Integer
(**body)[source]¶ Bases:
pandagg.node.mappings.abstract.RegularField
-
KEY
= 'integer'¶
-
-
class
pandagg.mappings.
Short
(**body)[source]¶ Bases:
pandagg.node.mappings.abstract.RegularField
-
KEY
= 'short'¶
-
-
class
pandagg.mappings.
Byte
(**body)[source]¶ Bases:
pandagg.node.mappings.abstract.RegularField
-
KEY
= 'byte'¶
-
-
class
pandagg.mappings.
Double
(**body)[source]¶ Bases:
pandagg.node.mappings.abstract.RegularField
-
KEY
= 'double'¶
-
-
class
pandagg.mappings.
HalfFloat
(**body)[source]¶ Bases:
pandagg.node.mappings.abstract.RegularField
-
KEY
= 'half_float'¶
-
-
class
pandagg.mappings.
ScaledFloat
(**body)[source]¶ Bases:
pandagg.node.mappings.abstract.RegularField
-
KEY
= 'scaled_float'¶
-
-
class
pandagg.mappings.
Date
(**body)[source]¶ Bases:
pandagg.node.mappings.abstract.RegularField
-
KEY
= 'date'¶
-
-
class
pandagg.mappings.
DateNanos
(**body)[source]¶ Bases:
pandagg.node.mappings.abstract.RegularField
-
KEY
= 'date_nanos'¶
-
-
class
pandagg.mappings.
Boolean
(**body)[source]¶ Bases:
pandagg.node.mappings.abstract.RegularField
-
KEY
= 'boolean'¶
-
-
class
pandagg.mappings.
Binary
(**body)[source]¶ Bases:
pandagg.node.mappings.abstract.RegularField
-
KEY
= 'binary'¶
-
-
class
pandagg.mappings.
IntegerRange
(**body)[source]¶ Bases:
pandagg.node.mappings.abstract.RegularField
-
KEY
= 'integer_range'¶
-
-
class
pandagg.mappings.
Float
(**body)[source]¶ Bases:
pandagg.node.mappings.abstract.RegularField
-
KEY
= 'float'¶
-
-
class
pandagg.mappings.
FloatRange
(**body)[source]¶ Bases:
pandagg.node.mappings.abstract.RegularField
-
KEY
= 'float_range'¶
-
-
class
pandagg.mappings.
LongRange
(**body)[source]¶ Bases:
pandagg.node.mappings.abstract.RegularField
-
KEY
= 'long_range'¶
-
-
class
pandagg.mappings.
DoubleRange
(**body)[source]¶ Bases:
pandagg.node.mappings.abstract.RegularField
-
KEY
= 'double_range'¶
-
-
class
pandagg.mappings.
DateRange
(**body)[source]¶ Bases:
pandagg.node.mappings.abstract.RegularField
-
KEY
= 'date_range'¶
-
-
class
pandagg.mappings.
Object
(**body)[source]¶ Bases:
pandagg.node.mappings.abstract.ComplexField
-
KEY
= 'object'¶
-
-
class
pandagg.mappings.
Nested
(**body)[source]¶ Bases:
pandagg.node.mappings.abstract.ComplexField
-
KEY
= 'nested'¶
-
-
class
pandagg.mappings.
GeoPoint
(**body)[source]¶ Bases:
pandagg.node.mappings.abstract.RegularField
For lat/lon points
-
KEY
= 'geo_point'¶
-
-
class
pandagg.mappings.
GeoShape
(**body)[source]¶ Bases:
pandagg.node.mappings.abstract.RegularField
For complex shapes like polygons
-
KEY
= 'geo_shape'¶
-
-
class
pandagg.mappings.
IP
(**body)[source]¶ Bases:
pandagg.node.mappings.abstract.RegularField
for IPv4 and IPv6 addresses
-
KEY
= 'ip'¶
-
-
class
pandagg.mappings.
Completion
(**body)[source]¶ Bases:
pandagg.node.mappings.abstract.RegularField
To provide auto-complete suggestions
-
KEY
= 'completion'¶
-
-
class
pandagg.mappings.
TokenCount
(**body)[source]¶ Bases:
pandagg.node.mappings.abstract.RegularField
To count the number of tokens in a string
-
KEY
= 'token_count'¶
-
-
class
pandagg.mappings.
MapperMurMur3
(**body)[source]¶ Bases:
pandagg.node.mappings.abstract.RegularField
To compute hashes of values at index-time and store them in the index
-
KEY
= 'murmur3'¶
-
-
class
pandagg.mappings.
MapperAnnotatedText
(**body)[source]¶ Bases:
pandagg.node.mappings.abstract.RegularField
To index text containing special markup (typically used for identifying named entities)
-
KEY
= 'annotated-text'¶
-
-
class
pandagg.mappings.
Percolator
(**body)[source]¶ Bases:
pandagg.node.mappings.abstract.RegularField
Accepts queries from the query-dsl
-
KEY
= 'percolator'¶
-
-
class
pandagg.mappings.
Join
(**body)[source]¶ Bases:
pandagg.node.mappings.abstract.RegularField
Defines parent/child relation for documents within the same index
-
KEY
= 'join'¶
-
-
class
pandagg.mappings.
RankFeature
(**body)[source]¶ Bases:
pandagg.node.mappings.abstract.RegularField
Record numeric feature to boost hits at query time.
-
KEY
= 'rank_feature'¶
-
-
class
pandagg.mappings.
RankFeatures
(**body)[source]¶ Bases:
pandagg.node.mappings.abstract.RegularField
Record numeric features to boost hits at query time.
-
KEY
= 'rank_features'¶
-
-
class
pandagg.mappings.
DenseVector
(**body)[source]¶ Bases:
pandagg.node.mappings.abstract.RegularField
Record dense vectors of float values.
-
KEY
= 'dense_vector'¶
-
-
class
pandagg.mappings.
SparseVector
(**body)[source]¶ Bases:
pandagg.node.mappings.abstract.RegularField
Record sparse vectors of float values.
-
KEY
= 'sparse_vector'¶
-
-
class
pandagg.mappings.
SearchAsYouType
(**body)[source]¶ Bases:
pandagg.node.mappings.abstract.RegularField
A text-like field optimized for queries to implement as-you-type completion
-
KEY
= 'search_as_you_type'¶
-
-
class
pandagg.mappings.
Alias
(**body)[source]¶ Bases:
pandagg.node.mappings.abstract.RegularField
Defines an alias to an existing field.
-
KEY
= 'alias'¶
-
-
class
pandagg.mappings.
Flattened
(**body)[source]¶ Bases:
pandagg.node.mappings.abstract.RegularField
Allows an entire JSON object to be indexed as a single field.
-
KEY
= 'flattened'¶
-
-
class
pandagg.mappings.
Shape
(**body)[source]¶ Bases:
pandagg.node.mappings.abstract.RegularField
For arbitrary cartesian geometries.
-
KEY
= 'shape'¶
-
-
class
pandagg.mappings.
Histogram
(**body)[source]¶ Bases:
pandagg.node.mappings.abstract.RegularField
For pre-aggregated numerical values for percentiles aggregations.
-
KEY
= 'histogram'¶
-
-
class
pandagg.mappings.
Index
(multiple=None, nullable=True, **body)[source]¶ Bases:
pandagg.node.mappings.abstract.Field
The index to which the document belongs.
-
KEY
= '_index'¶
-
-
class
pandagg.mappings.
Type
(multiple=None, nullable=True, **body)[source]¶ Bases:
pandagg.node.mappings.abstract.Field
The document’s mappings type.
-
KEY
= '_type'¶
-
-
class
pandagg.mappings.
Id
(multiple=None, nullable=True, **body)[source]¶ Bases:
pandagg.node.mappings.abstract.Field
The document’s ID.
-
KEY
= '_id'¶
-
-
class
pandagg.mappings.
FieldNames
(multiple=None, nullable=True, **body)[source]¶ Bases:
pandagg.node.mappings.abstract.Field
All fields in the document which contain non-null values.
-
KEY
= '_field_names'¶
-
-
class
pandagg.mappings.
Source
(multiple=None, nullable=True, **body)[source]¶ Bases:
pandagg.node.mappings.abstract.Field
The original JSON representing the body of the document.
-
KEY
= '_source'¶
-
-
class
pandagg.mappings.
Size
(multiple=None, nullable=True, **body)[source]¶ Bases:
pandagg.node.mappings.abstract.Field
The size of the _source field in bytes, provided by the mapper-size plugin.
-
KEY
= '_size'¶
-
-
class
pandagg.mappings.
Ignored
(multiple=None, nullable=True, **body)[source]¶ Bases:
pandagg.node.mappings.abstract.Field
All fields in the document that have been ignored at index time because of ignore_malformed.
-
KEY
= '_ignored'¶
-
-
class
pandagg.mappings.
Routing
(multiple=None, nullable=True, **body)[source]¶ Bases:
pandagg.node.mappings.abstract.Field
A custom routing value which routes a document to a particular shard.
-
KEY
= '_routing'¶
-
-
class
pandagg.mappings.
Meta
(multiple=None, nullable=True, **body)[source]¶ Bases:
pandagg.node.mappings.abstract.Field
Application specific metadata.
-
KEY
= '_meta'¶
-