It is possible to configure an object with subobjects: false, so its child objects never create subobjects even if they have dots in their names. This is needed in metrics use cases to be able to store metric names or metadata as they are, without dedotting or other transformations.
We need to ensure that at least one of the following mappings produce expected results, so this is supported.
- name: prometheus.labels.*
type: object
object_type: keyword
subobjects: false
Should produce:
- A dynamic mapping for
prometheus.labels.*, with type keyword.
- A static mapping for
prometheus.labels, with type: object and subobjects: false.
- name: prometheus.labels
type: object
subobjects: false
Should produce a mapping for prometheus.labels with type: object and subobjects: false, independently of the existence of other related dynamic mappings.
Maybe this already works, but we would need to check it.
It is possible to configure an object with
subobjects: false, so its child objects never create subobjects even if they have dots in their names. This is needed in metrics use cases to be able to store metric names or metadata as they are, without dedotting or other transformations.We need to ensure that at least one of the following mappings produce expected results, so this is supported.
Should produce:
prometheus.labels.*, with type keyword.prometheus.labels, withtype: objectandsubobjects: false.Should produce a mapping for
prometheus.labelswithtype: objectandsubobjects: false, independently of the existence of other related dynamic mappings.Maybe this already works, but we would need to check it.