The Elasticsearch go client is necessarily low level, and it doesn't abstract API differences between elasticsearch versions.
Due to compatibility requirements we will need several versions (right now, v7 and v8).
We need to abstract ourselves the different versions, otherwise maintaining them is going to be complicated, particularly in the face of backports to 7.x.
We should do it as soon as possible, before the client usage spreads over the code base.
The Elasticsearch go client is necessarily low level, and it doesn't abstract API differences between elasticsearch versions.
Due to compatibility requirements we will need several versions (right now, v7 and v8).
We need to abstract ourselves the different versions, otherwise maintaining them is going to be complicated, particularly in the face of backports to 7.x.
We should do it as soon as possible, before the client usage spreads over the code base.