Best practices when creating a complex index through the Java API

Hello !
I am creating fairy complex indexes though the java API - with a different tokenizer and a few fields that are non-analysed ( to perform alphabetic ordering ).
Currently I am manually creating a Json file using the jsonBuilder for the tokenizer/analisys part and the specific fields I am adding a mapping and using setSource to another jsonBuilder built file.
Is does work, but I wonder if this is the best way to do it, or if I should do it differently, I created a simple project to run some test - https://github.com/GMelo/ElasticSearchInvestigation Any help or information on previous experience is greatly appreciated.
Thanks !