- Yes
- Yes!
You can tell Filebeat to look for particular files in it's input and then have those in specific input sections, eg one for *.csv and one for*.json. On the input you can also tag an event.
Then when you send them to Elasticsearch you can tell an output to filter only specific events, so the csv or json ones will go to the index you specifiy in set in each output section, you can also set the mapping there.
Take a look at filestream input | Filebeat Reference [8.6] | Elastic and Configure the Elasticsearch output | Filebeat Reference [8.6] | Elastic.