12345678910111213141516171819202122232425262728293031323334353637383940 |
- package util
- import (
- elastic2 "app.yhyue.com/moapp/esv1/gopkg.in/olivere/elastic.v1"
- util "app.yhyue.com/moapp/jybase/common"
- elastic "app.yhyue.com/moapp/jybase/esv1"
- "log"
- "runtime"
- )
- // GetAggs 聚合查询
- func GetAggs(index, itype, query string) (aggs elastic2.Aggregations, count int64, hist []*elastic2.SearchHit) {
- defer util.Catch()
- client := elastic.GetEsConn()
- defer func() {
- go elastic.DestoryEsConn(client)
- }()
- if client != nil {
- defer func() {
- if r := recover(); r != nil {
- log.Println("[E]", r)
- for skip := 1; ; skip++ {
- _, file, line, ok := runtime.Caller(skip)
- if !ok {
- break
- }
- go log.Printf("%v,%v\n", file, line)
- }
- }
- }()
- searchResult, err := client.Search().Index(index).Type(itype).Source(query).Do()
- if err != nil {
- log.Println("从ES查询出错", err.Error())
- }
- count = searchResult.Hits.TotalHits
- hist = searchResult.Hits.Hits
- aggs = searchResult.Aggregations
- }
- return
- }
|