Beats manual index template loading instructions (alternate method) is missing index alias step

All the beats documentation provide instructions on loading the template index manually through an alternate method if your beat shipper doesn't have access to elasticsearch (for example:

These instructions involve exporting the template using the "export template" command, then loading the template into elasticsearch using curl.

I spent ages trying to get this to work with the winlogbeat but kept getting "Text fields are not optimised for operations" errors. After proxying the commands the shipper is sending to elasticsearch it turns out that there is an index alias needs to be created, a step that is not included in the instructions. For example, for winlogbeat 7.9.0 this would be:

 curl -s -u "elastic:XXXXXXXX" -X PUT "https://localhost:9200/%3Cwinlogbeat-7.9.0-%7Bnow%2Fd%7D-000001%3E"  \
    	-H 'Content-Type: application/json' -d "{\"aliases\":{\"winlogbeat-7.9.0\":{\"is_write_index\":true}}}"

After running this everything worked perfectly. Wasn't sure wether I should raise this as an issue so just decided to leave it here in case anyone else encounters this problem.

Hey @alhazred, welcome to discuss :slightly_smiling_face:

Yes, this looks like an issue with the documentation, when using ILM an alias should be created too.

Did Winlogbeat log any error when the alias was missing?

Please create an issue or open a pull request to fix the docs. Thanks!