[#83844836] - i think i finally squashed this bug, for real this time. i will regret this message if i didn't, but to quote this issue from github: https://github.com/elasticsearch/elasticsearch/issues/2603
"Same field name under different types should have the same mappings, otherwise there will be problems. Internally, in order to conserve space, we map them to the same field name. If you really feel you need to separate between them, use different indices. We should give better failure message when we detect conflicts in mappings."
so the end result of this commit is (probably) a fixed bug but the side effect is that the code quality deteriorated with a lot of experimental edits here and there. thus, not closing this until i cleanup and refactor the mess i made.