Skip to content

8.18.0

Choose a tag to compare

@Anaethelion Anaethelion released this 17 Apr 15:44
· 39 commits to main since this release
54d9248
  • Update elastictransport to 8.7.0.
  • Thanks to @zaneli, the TypedClient can now be used in the BulkIndexer.

New

  • This release adds a BaseClient constructor with no attached APIs, allowing it to be used purely as a transport layer instead of a full-featured API client.
baseClient, err := elasticsearch.NewBaseClient(elasticsearch.Config{
    Addresses: []string{
        "http://localhost:9200",
    },
})

if err != nil {
    log.Println(err)
    return
}

res, err := esapi.InfoRequest{
    Pretty:     false,
    Human:      false,
    ErrorTrace: false,
    FilterPath: nil,
    Header:     nil,
    Instrument: baseClient.InstrumentationEnabled(),
}.Do(context.Background(), baseClient)

if err != nil {
    log.Println(err)
    return
}
defer res.Body.Close()
if res.IsError() {
    log.Println("Error response:", res)
    return
}
var infoMap map[string]interface{}
if err := json.NewDecoder(res.Body).Decode(&infoMap); err != nil {
    log.Println("Error parsing response:", err)
    return
}
log.Printf("Elasticsearch version esapi: %s\n", infoMap["version"].(map[string]interface{})["number"])

typedRes, err := info.New(baseClient).Do(context.Background())
if err != nil {
    log.Println(err)
    return
}
log.Printf("Elasticsearch version typedapi: %s\n", typedRes.Version.Int)

API

  • Updated APIs to 8.18.0

Typed API