You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Update module github.com/elastic/go-elasticsearch/v8 to v9 (jaegertracing#7041)
This PR contains the following updates:
| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[github.com/elastic/go-elasticsearch/v8](https://redirect.github.com/elastic/go-elasticsearch)
| `v8.17.1` -> `v9.0.0` |
[](https://docs.renovatebot.com/merge-confidence/)
|
[](https://docs.renovatebot.com/merge-confidence/)
|
[](https://docs.renovatebot.com/merge-confidence/)
|
[](https://docs.renovatebot.com/merge-confidence/)
|
---
### Release Notes
<details>
<summary>elastic/go-elasticsearch
(github.com/elastic/go-elasticsearch/v8)</summary>
###
[`v9.0.0`](https://redirect.github.com/elastic/go-elasticsearch/releases/tag/v9.0.0):
9.0.0
[Compare
Source](https://redirect.github.com/elastic/go-elasticsearch/compare/v8.18.0...v9.0.0)
- The client now requires **Go 1.23** or later.
#### New
- This release introduces an optional package for the `TypedAPI` named
`esdsl`.\
It provides a domain-specific language (DSL) for building Elasticsearch
queries in Go.\
The DSL is designed to simplify query construction, making it easier to
build complex queries without writing raw JSON.
```go
// create index
{
// delete index if exists
if existsRes, err := es.Indices.Exists("test").IsSuccess(context.Background()); err != nil {
log.Println(err)
return
} else if existsRes {
if ok, _ := es.Indices.Delete("test").IsSuccess(context.Background()); !ok {
log.Fatalf("Error deleting index: %v\n", err)
}
log.Println("Index deleted:", "test")
} else {
log.Println("Index does not exist:", "test")
}
mappings := esdsl.NewTypeMapping().
AddProperty("name", esdsl.NewTextProperty()).
AddProperty("age", esdsl.NewIntegerNumberProperty())
createRes, err := es.Indices.Create("test").Mappings(mappings).Do(context.Background())
if err != nil {
log.Println(err)
return
}
log.Printf("Index created: %#v\n", createRes)
}
// index document
{
documents := []Document{
{"Alice", 30},
{"Bob", 25},
{"Charlie", 35},
}
bulk := es.Bulk().Index("test")
for _, document := range documents {
err := bulk.IndexOp(types.IndexOperation{}, document)
if err != nil {
log.Println("Error indexing document:", err)
}
}
bulkRes, err := bulk.Refresh(refresh.Waitfor).Do(context.Background())
if err != nil {
log.Println(err)
return
}
if bulkRes.Errors {
log.Println("Some documents failed to index")
for _, item := range bulkRes.Items {
for operationType, responseItem := range item {
if responseItem.Error != nil {
log.Println("Operation:", operationType)
log.Println("Response:", responseItem)
}
}
}
}
indexedDocs := 0
for _, item := range bulkRes.Items {
for _, responseItem := range item {
if responseItem.Error == nil {
indexedDocs++
}
}
}
log.Println("Documents indexed:", indexedDocs)
}
// calculate median age
{
searchRes, err := es.Search().
Index("test").
Size(0).
AddAggregation("median_age", esdsl.NewPercentilesAggregation().Field("age").Percents(50)).
Do(context.Background())
if err != nil {
log.Println(err)
return
}
if agg, ok := searchRes.Aggregations["median_age"].(*types.TDigestPercentilesAggregate); ok {
if val, ok := agg.Values.(map[string]interface{})["50.0"]; ok {
log.Println("Median age:", val)
}
}
}
// search documents
{
matchRes, err := es.Search().
Index("test").
Query(esdsl.NewBoolQuery().
Must(esdsl.NewMatchQuery("name", "Alice")).
Filter(esdsl.NewNumberRangeQuery("age").Gte(20).Lte(40))).
Sort(esdsl.NewSortOptions().AddSortOption("age", esdsl.NewFieldSort(sortorder.Asc))).
Size(10).
Do(context.Background())
if err != nil {
log.Println(err)
return
}
if matchRes.Hits.Total.Value > 0 {
for _, hit := range matchRes.Hits.Hits {
doc := Document{}
err := json.Unmarshal(hit.Source_, &doc)
if err != nil {
log.Println("Error unmarshalling document:", err)
continue
}
log.Printf("Document ID: %s, Name: %s, Age: %d\n", *hit.Id_, doc.Name, doc.Age)
}
} else {
log.Println("No documents found")
}
}
```
### API
- Updated APIs to 9.0.0
### Typed API
- Update APIs to 9.0.0
([52c473e](https://redirect.github.com/elastic/elasticsearch-specification/tree/52c473efb1fb5320a5bac12572d0b285882862fb))
###
[`v8.18.0`](https://redirect.github.com/elastic/go-elasticsearch/releases/tag/v8.18.0):
8.18.0
[Compare
Source](https://redirect.github.com/elastic/go-elasticsearch/compare/v8.17.1...v8.18.0)
- Update `elastictransport` to `8.7.0`.
- Thanks to [@​zaneli](https://redirect.github.com/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.
```go
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
- Update APIs to 8.18.0
([f6a370d](https://redirect.github.com/elastic/elasticsearch-specification/tree/f6a370d0fba975752c644fc730f7c45610e28f36))
</details>
---
### Configuration
📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).
🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.
♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.
🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box
---
This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/jaegertracing/jaeger).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4yNDguNCIsInVwZGF0ZWRJblZlciI6IjM5LjI0OC40IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJjaGFuZ2Vsb2c6ZGVwZW5kZW5jaWVzIl19-->
Signed-off-by: Mend Renovate <[email protected]>
0 commit comments