Ok just to make sure before beginning acting on this, the heap, if manually set at all, should still be 50% of available memory in this case. I was going to bump ES memory to 14GB and allot the JVM a heap of "-Xms7g -Xmx7g", as that should theoretically fit the vectors.
The _source mapping is a valid point then, but I may save that for a future reindex as it can take over a week to reindex everything. Another will inevitably come so good shout for when we do that!