Elasticsearch: Run log context queries through backend (#65805)

* Elasticsearch: Run context queries trough backend

* Fix typing

* Update

* Add possibility to run context query torugh backend and frontend

* Correctly sort
This commit is contained in:
Ivana Huckova
2023-04-05 18:32:02 +02:00
committed by GitHub
parent 7e312a6aa6
commit abc11d1dcf
7 changed files with 281 additions and 66 deletions
@@ -73,10 +73,21 @@ func (b *SearchRequestBuilder) Size(size int) *SearchRequestBuilder {
return b
}
// SortDesc adds a sort to the search request
func (b *SearchRequestBuilder) SortDesc(field, unmappedType string) *SearchRequestBuilder {
type SortOrder string
const (
SortOrderAsc SortOrder = "asc"
SortOrderDesc SortOrder = "desc"
)
// Sort adds a "asc" | "desc" sort to the search request
func (b *SearchRequestBuilder) Sort(order SortOrder, field string, unmappedType string) *SearchRequestBuilder {
if order != SortOrderAsc && order != SortOrderDesc {
return b
}
props := map[string]string{
"order": "desc",
"order": string(order),
}
if unmappedType != "" {
@@ -110,6 +121,16 @@ func (b *SearchRequestBuilder) AddHighlight() *SearchRequestBuilder {
return b
}
func (b *SearchRequestBuilder) AddSearchAfter(value interface{}) *SearchRequestBuilder {
if b.customProps["search_after"] == nil {
b.customProps["search_after"] = []interface{}{value}
} else {
b.customProps["search_after"] = append(b.customProps["search_after"].([]interface{}), value)
}
return b
}
// Query creates and return a query builder
func (b *SearchRequestBuilder) Query() *QueryBuilder {
if b.queryBuilder == nil {