improved elasticsearch mapping