Installation
To install the 8.x version of the client, add the package to your go.mod
file:
require github.com/elastic/go-elasticsearch/v8 8.5
Or, clone the repository:
git clone --branch 8.5 https://github.com/elastic/go-elasticsearch.git $GOPATH/src/github
To install another version, modify the path or the branch name accordingly. The client major versions correspond to the Elasticsearch major versions.
You can find a complete example of installation below:
mkdir my-elasticsearch-app && cd my-elasticsearch-app
cat > go.mod <<-END
module my-elasticsearch-app
require github.com/elastic/go-elasticsearch/v8 main
END
cat > main.go <<-END
package main
import (
"log"
"github.com/elastic/go-elasticsearch/v8"
)
func main() {
es, _ := elasticsearch.NewDefaultClient()
log.Println(elasticsearch.Version)
log.Println(es.Info())
}
END
go run main.go
The language clients are forward compatible; meaning that the clients support communicating with greater or equal minor versions of Elasticsearch without breaking. It does not mean that the clients automatically support new features of newer Elasticsearch versions; it is only possible after a release of a new client version. For example, a 8.12 client version won’t automatically support the new features of the 8.13 version of Elasticsearch, the 8.13 client version is required for that. Elasticsearch language clients are only backwards compatible with default distributions and without guarantees made.
Elasticsearch Version | Elasticsearch-Go Branch | Supported |
---|---|---|
main | main | |
8.x | 8.x | 8.x |
7.x | 7.x | 7.17 |