|
@@ -900,13 +900,16 @@ func (e *EsV7) GetWithCount(index, itype, countQuery, allQuery string) (int64, *
|
|
|
client := e.GetEsConn()
|
|
|
defer e.DestoryEsConn(client)
|
|
|
var res []map[string]interface{}
|
|
|
- count := e.Count(index, itype, countQuery)
|
|
|
+ var count int64
|
|
|
if client != nil {
|
|
|
+ allQuery = strings.TrimPrefix(strings.TrimSpace(allQuery), "{")
|
|
|
+ allQuery = `{"track_total_hits": true,` + allQuery
|
|
|
searchResult, err := client.Search().Index(index).Source(allQuery).Do(context.TODO())
|
|
|
if err != nil {
|
|
|
log.Println("从ES查询出错", err.Error())
|
|
|
return count, nil
|
|
|
}
|
|
|
+ count = searchResult.TotalHits()
|
|
|
if searchResult.Hits != nil {
|
|
|
resNum := len(searchResult.Hits.Hits)
|
|
|
if resNum <= 5000 {
|