Most likely because the first field that got processed and inserted fit the date format and so Elasticsearch automatically created that field as a type date...
If you want to make sure keyword or text? Create a mapping ahead of time.
Or you can use the mutate convert to set the type to string
Create a mapping that is the most prescriptive... The same thing is probably happening.. Even though you convert to a string, it has a date format so it's probably getting automatically converted when it's written into a date by automatic date detection
You will need to delete the current index because once it's set it won't change.
Explicitly Add the a1 field to the filebeat template as a text or keyword
If you had run ./filebeat setup -e per the quick start guide the default filebeat template would have set date "date_detection": false, and this would not be happening.
Or you can create a mapping and set "date_detection": false,
Apache, Apache Lucene, Apache Hadoop, Hadoop, HDFS and the yellow elephant
logo are trademarks of the
Apache Software Foundation
in the United States and/or other countries.