mirror of
https://github.com/karust/openserp.git
synced 2026-08-26 01:32:07 +08:00
feat(api): v2 response shape - absolute rank, ad/organic split, slimmer fields
This commit is contained in:
@@ -236,6 +236,8 @@ func (gogl *Google) Search(ctx context.Context, query core.Query) (results []cor
|
||||
gogl.logger.Info("Found %d total results", totalResults)
|
||||
|
||||
rank := query.Start
|
||||
adRank := 1
|
||||
absoluteRank := query.Start + 1
|
||||
for _, resEl := range searchResultElems {
|
||||
srchRes := core.SearchResult{}
|
||||
|
||||
@@ -285,7 +287,10 @@ func (gogl *Google) Search(ctx context.Context, query core.Query) (results []cor
|
||||
} else {
|
||||
srchRes.Description = strings.TrimSpace(text)
|
||||
}
|
||||
rank += 1
|
||||
srchRes.Rank = adRank
|
||||
srchRes.AbsoluteRank = absoluteRank
|
||||
adRank++
|
||||
absoluteRank++
|
||||
|
||||
} else if isAnswerBox {
|
||||
// 2. Parse answer boxes
|
||||
@@ -406,6 +411,8 @@ func (gogl *Google) Search(ctx context.Context, query core.Query) (results []cor
|
||||
|
||||
rank += 1
|
||||
srchRes.Rank = rank
|
||||
srchRes.AbsoluteRank = absoluteRank
|
||||
absoluteRank++
|
||||
searchResults = append(searchResults, srchRes)
|
||||
continue
|
||||
|
||||
@@ -413,7 +420,16 @@ func (gogl *Google) Search(ctx context.Context, query core.Query) (results []cor
|
||||
continue
|
||||
}
|
||||
|
||||
srchRes.Rank = rank
|
||||
if srchRes.Ad && srchRes.Rank == 0 {
|
||||
srchRes.Rank = adRank
|
||||
adRank++
|
||||
} else if !srchRes.Ad {
|
||||
srchRes.Rank = rank
|
||||
}
|
||||
if srchRes.AbsoluteRank == 0 {
|
||||
srchRes.AbsoluteRank = absoluteRank
|
||||
absoluteRank++
|
||||
}
|
||||
searchResults = append(searchResults, srchRes)
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user