TP-5555 | last seen support
This commit is contained in:
@@ -27,6 +27,7 @@ func (s *SearchService) Search(c *gin.Context) {
|
||||
|
||||
func (s *SearchService) GetErrorDetails(c *gin.Context) {
|
||||
error_hash := c.Query("error_hash")
|
||||
project_id := c.Query("project_id")
|
||||
from := c.DefaultQuery("from", "0")
|
||||
|
||||
fromInNumber, err := strconv.ParseInt(from, 10, 64)
|
||||
@@ -37,7 +38,10 @@ func (s *SearchService) GetErrorDetails(c *gin.Context) {
|
||||
}
|
||||
|
||||
term_query := utils.CreateTermSubQuery("error_hash", error_hash)
|
||||
search_query := utils.CreateSearchQuery(term_query)
|
||||
project_id_term_query := utils.CreateTermSubQuery("project_id", project_id)
|
||||
mustQuery := utils.CreateMustQuery(term_query, project_id_term_query)
|
||||
boolQuery := utils.CreateBoolQuery(mustQuery)
|
||||
search_query := utils.CreateSearchQuery(boolQuery)
|
||||
size_query := utils.CreateSizeQuery(1)
|
||||
sort_query := utils.CreateSortQuery("created_at", "desc", "")
|
||||
after_query := utils.CreateFromQuery(fromInNumber)
|
||||
@@ -82,6 +86,7 @@ func (s *SearchService) GetErrorList(c *gin.Context) {
|
||||
projectId := c.Query("project_id")
|
||||
size := c.DefaultQuery("size", "10")
|
||||
afterKey := c.DefaultQuery("after_key", "")
|
||||
sortKey := c.DefaultQuery("sort_key", "lastSeen")
|
||||
|
||||
sizeInNumber, sizeParseError := strconv.Atoi(size)
|
||||
|
||||
@@ -94,7 +99,22 @@ func (s *SearchService) GetErrorList(c *gin.Context) {
|
||||
search_query := utils.CreateSearchQuery(term_query)
|
||||
size_query := utils.CreateSizeQuery(0)
|
||||
top_hits_aggs_name_query := utils.BuildAggregationQuery("unique_errors", utils.CreateTopHitsAggsQuery(1, []string{"error", "significant_stack", "created_at", "error_hash"}))
|
||||
top_hits_aggs_query := utils.CreateAggregationQuery(top_hits_aggs_name_query)
|
||||
last_seen_aggs_query := utils.BuildAggregationQuery("last_seen", utils.CreateMaxAggregationQuery("created_at"))
|
||||
first_seen_aggs_query := utils.BuildAggregationQuery("first_seen", utils.CreateMinAggregationQuery("created_at"))
|
||||
sortQuery := utils.CreateSortQuery("last_seen", "desc", "")
|
||||
|
||||
if sortKey == "lastSeen" {
|
||||
sortQuery = utils.CreateSortQuery("last_seen", "desc", "")
|
||||
}
|
||||
if sortKey == "firstSeen" {
|
||||
sortQuery = utils.CreateSortQuery("first_seen", "desc", "")
|
||||
}
|
||||
if sortKey == "count" {
|
||||
sortQuery = utils.CreateSortQuery("_count", "desc", "")
|
||||
}
|
||||
customSortQuery := utils.CreateCustomQueryWithBraces("bucket_sort", sortQuery)
|
||||
customFinalSortQuery := utils.CreateCustomQueryWithBraces("sorting", customSortQuery)
|
||||
top_hits_aggs_query := utils.CreateAggregationQuery(top_hits_aggs_name_query, last_seen_aggs_query, first_seen_aggs_query, customFinalSortQuery)
|
||||
|
||||
//building composite aggregation
|
||||
composite_term_query := utils.CreateTermsAggregationQueryWithoutSize("error_hash")
|
||||
@@ -103,8 +123,6 @@ func (s *SearchService) GetErrorList(c *gin.Context) {
|
||||
|
||||
compositeAggsQuery := utils.CreateAggregationQuery(composite_aggs_query)
|
||||
|
||||
//final_aggs_query := utils.CreateAggregationQuery(top_hits_value_count, compositeAggsQuery)
|
||||
|
||||
final_query := utils.CreateEsQuery(search_query, size_query, compositeAggsQuery)
|
||||
|
||||
println("%s", final_query)
|
||||
|
||||
Reference in New Issue
Block a user