Elasticsearch is just like another document index non-rdbms database. All do support saving documents even without creating a mapping for the index. Still, then why is it recommended to actually map your index / types?
Well lets see at this scenario – when we save a document in elasticsearch, if there is no mapping set for the type in index – what it dose is – automatically consider the type to the key to be text field with 256 chars limit (above 256 chars – it automatically ignores).
Now that is fine to have it- but then imagine – if you want to run query on like a date comparison, there it can in trouble .. why? cuz what elasticsearch did – it saved the value for the date in text format.
That is 1 situation. Now if you want to run aggregations on a certain field as base – it is necessary to mark it as keyword (there is another way too for it to be dealt with .. you can refer to the documentation). But since the type of field is text – it will not allow you to run aggregations on it.