Could you provide a full recreation script as described in About the Elasticsearch category. It will help to better understand what you are doing. Please, try to keep the example as simple as possible.
A full reproduction script will help readers to understand, reproduce and if needed fix your problem. It will also most likely help to get a faster answer.
Please make it as simple as possible. There is no need here for the tons of mappings you pasted to reproduce your problem.
Also, I suggest that you try the _analyze
API to understand how elasticsearch is indexing your text. That's normally helping a lot.