Elasticsearch 1.7.3 behavior.
Suppose I am using a default mapping and various types. My default mapping is a superset of my types fields, so, something like:
_default_: {
properties: {
"a": { "type": "string" },
"b":{"type":"string"},
... etc
}
}
If I understand correctly, when I create an index using this default mapping and a type A which uses field a, a new type gets dynamically created called A.
When I retrieve the mappings for this index and type, I become surprised when I see all the fields defined in default in the mappings for index/A.
I'm going to index a bunch of these, with several different types and about a hundred fields, with many tens of thousands of these event per second. I assume I want a fixed mapping for performance reasons.
Is there a way to find out which fields are actually in use (and/or are unused) so I can define a fixed mapping for type A? Is there any reason trying to do this violates certain philosophies of ES?
Thanks for any help.