Very strange as you don't even need to call refresh before calling GET by id.
I'd say that you have a bug somewhere in your code.
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.