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:
@@ -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 {
|
||||
|
||||
@@ -45,7 +45,7 @@ func TestSearchRequest(t *testing.T) {
|
||||
t.Run("When adding size, sort, filters", func(t *testing.T) {
|
||||
b := setup()
|
||||
b.Size(200)
|
||||
b.SortDesc(timeField, "boolean")
|
||||
b.Sort(SortOrderDesc, timeField, "boolean")
|
||||
filters := b.Query().Bool().Filter()
|
||||
filters.AddDateRangeFilter(timeField, 10, 5, DateFormatEpochMS)
|
||||
filters.AddQueryStringFilter("test", true)
|
||||
|
||||
Reference in New Issue
Block a user