From cf1f35cc330745061dd5b54c4d080f7d155733e3 Mon Sep 17 00:00:00 2001 From: varnit goyal Date: Fri, 10 Jan 2025 14:43:31 +0530 Subject: [PATCH] TP-5555 | hotfix for search --- pkg/utils/elastic_query_util.go | 7 ++++++- service/searchService.go | 7 ++++--- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/pkg/utils/elastic_query_util.go b/pkg/utils/elastic_query_util.go index 8a7c5fa..cd273b5 100644 --- a/pkg/utils/elastic_query_util.go +++ b/pkg/utils/elastic_query_util.go @@ -29,6 +29,7 @@ const ( AggregationQuery = `"aggs": { %s }` AggregationQueryFormat = `"%s": { %s }` // aggregation name, aggregation query TermsAggregationQuery = `"terms": { "field": "%s", "size": %d, %s}` + TermsAggregationQueryWithoutSort = `"terms": { "field": "%s", "size": %d}` MinAggregationQuery = `"min": { "field": "%s" }` MaxAggregationQuery = `"max": { "field": "%s" }` CardinalityAggregationQuery = `"cardinality": { "field": "%s" }` @@ -196,7 +197,11 @@ func CreateMaxAggregationQuery(field string) string { } func CreateTermsAggregationQuery(field string, size int, orderQuery string) string { - return fmt.Sprintf(TermsAggregationQuery, field, size, orderQuery) + if len(orderQuery) > 0 { + return fmt.Sprintf(TermsAggregationQuery, field, size, orderQuery) + } + return fmt.Sprintf(TermsAggregationQueryWithoutSort, field, size) + } func CreateTermsAggregationQueryWithoutSize(field string) string { diff --git a/service/searchService.go b/service/searchService.go index c8c3b08..169cd6e 100644 --- a/service/searchService.go +++ b/service/searchService.go @@ -128,9 +128,6 @@ func (s *SearchService) GetErrorListV2(c *gin.Context) { if sortKey == "count" { orderQuery = utils.CreateOrderQuery("_count", "desc") } - if sortKey == "score" { - orderQuery = utils.CreateOrderQuery("_score", "desc") - } //size := c.DefaultQuery("size", "100000") term_query := utils.CreateTermSubQuery("project_id", projectId) multiMatchQuery := utils.CreateMultiMatchQuery(search_key, "error", "title", "extra.metadata.agentId", @@ -149,6 +146,10 @@ func (s *SearchService) GetErrorListV2(c *gin.Context) { first_seen_aggs_query := utils.BuildAggregationQuery("first_seen", utils.CreateMinAggregationQuery("created_at")) top_hits_aggs_query := utils.CreateAggregationQuery(top_hits_aggs_name_query, last_seen_aggs_query, first_seen_aggs_query) term_aggs_query := utils.CreateTermsAggregationQuery("error_hash", 100000, orderQuery) + if sortKey == "score" { + term_aggs_query = utils.CreateTermsAggregationQuery("error_hash", 100000, "") + + } terms_aggs_query_with_name := utils.BuildAggregationQuery("errors_by_hash", term_aggs_query, top_hits_aggs_query) final_terms_aggs_query := utils.CreateAggregationQuery(terms_aggs_query_with_name) final_query := utils.CreateEsQuery(search_query, size_query, final_terms_aggs_query)