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.TreeBasedObjInteractive 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.RegularFieldFor lat/lon points
-
KEY= 'geo_point'¶
-
-
class
pandagg.mappings.GeoShape(**body)[source]¶ Bases:
pandagg.node.mappings.abstract.RegularFieldFor complex shapes like polygons
-
KEY= 'geo_shape'¶
-
-
class
pandagg.mappings.IP(**body)[source]¶ Bases:
pandagg.node.mappings.abstract.RegularFieldfor IPv4 and IPv6 addresses
-
KEY= 'ip'¶
-
-
class
pandagg.mappings.Completion(**body)[source]¶ Bases:
pandagg.node.mappings.abstract.RegularFieldTo provide auto-complete suggestions
-
KEY= 'completion'¶
-
-
class
pandagg.mappings.TokenCount(**body)[source]¶ Bases:
pandagg.node.mappings.abstract.RegularFieldTo count the number of tokens in a string
-
KEY= 'token_count'¶
-
-
class
pandagg.mappings.MapperMurMur3(**body)[source]¶ Bases:
pandagg.node.mappings.abstract.RegularFieldTo 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.RegularFieldTo 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.RegularFieldAccepts queries from the query-dsl
-
KEY= 'percolator'¶
-
-
class
pandagg.mappings.Join(**body)[source]¶ Bases:
pandagg.node.mappings.abstract.RegularFieldDefines parent/child relation for documents within the same index
-
KEY= 'join'¶
-
-
class
pandagg.mappings.RankFeature(**body)[source]¶ Bases:
pandagg.node.mappings.abstract.RegularFieldRecord numeric feature to boost hits at query time.
-
KEY= 'rank_feature'¶
-
-
class
pandagg.mappings.RankFeatures(**body)[source]¶ Bases:
pandagg.node.mappings.abstract.RegularFieldRecord numeric features to boost hits at query time.
-
KEY= 'rank_features'¶
-
-
class
pandagg.mappings.DenseVector(**body)[source]¶ Bases:
pandagg.node.mappings.abstract.RegularFieldRecord dense vectors of float values.
-
KEY= 'dense_vector'¶
-
-
class
pandagg.mappings.SparseVector(**body)[source]¶ Bases:
pandagg.node.mappings.abstract.RegularFieldRecord sparse vectors of float values.
-
KEY= 'sparse_vector'¶
-
-
class
pandagg.mappings.SearchAsYouType(**body)[source]¶ Bases:
pandagg.node.mappings.abstract.RegularFieldA 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.RegularFieldDefines an alias to an existing field.
-
KEY= 'alias'¶
-
-
class
pandagg.mappings.Flattened(**body)[source]¶ Bases:
pandagg.node.mappings.abstract.RegularFieldAllows an entire JSON object to be indexed as a single field.
-
KEY= 'flattened'¶
-
-
class
pandagg.mappings.Shape(**body)[source]¶ Bases:
pandagg.node.mappings.abstract.RegularFieldFor arbitrary cartesian geometries.
-
KEY= 'shape'¶
-
-
class
pandagg.mappings.Histogram(**body)[source]¶ Bases:
pandagg.node.mappings.abstract.RegularFieldFor pre-aggregated numerical values for percentiles aggregations.
-
KEY= 'histogram'¶
-
-
class
pandagg.mappings.Index(multiple=None, nullable=True, **body)[source]¶ Bases:
pandagg.node.mappings.abstract.FieldThe index to which the document belongs.
-
KEY= '_index'¶
-
-
class
pandagg.mappings.Type(multiple=None, nullable=True, **body)[source]¶ Bases:
pandagg.node.mappings.abstract.FieldThe document’s mappings type.
-
KEY= '_type'¶
-
-
class
pandagg.mappings.Id(multiple=None, nullable=True, **body)[source]¶ Bases:
pandagg.node.mappings.abstract.FieldThe document’s ID.
-
KEY= '_id'¶
-
-
class
pandagg.mappings.FieldNames(multiple=None, nullable=True, **body)[source]¶ Bases:
pandagg.node.mappings.abstract.FieldAll 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.FieldThe 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.FieldThe 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.FieldAll 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.FieldA 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.FieldApplication specific metadata.
-
KEY= '_meta'¶
-