Quellcode durchsuchen

feat:检索count

wangshan vor 3 Jahren
Ursprung
Commit
20dfc63155
2 geänderte Dateien mit 45 neuen und 45 gelöschten Zeilen
  1. 0 45
      esv1/elasticSim.go
  2. 45 0
      esv1/elasticutil.go

+ 0 - 45
esv1/elasticSim.go

@@ -327,48 +327,3 @@ func (e *Elastic) Count(index, itype string, query interface{}) int64 {
 	}
 	return 0
 }
-
-//返回count 和 res
-func (e *Elastic) GetWithCount(index, itype, query string) (int64, *[]map[string]interface{}) {
-	client := e.GetEsConn()
-	defer func() {
-		go e.DestoryEsConn(client)
-	}()
-	var res []map[string]interface{}
-	var count int64 = 0
-	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())
-			return count, nil
-		}
-		if searchResult.Hits != nil {
-			resNum := len(searchResult.Hits.Hits)
-			count = searchResult.Hits.TotalHits
-			if resNum < 5000 {
-				res = make([]map[string]interface{}, resNum)
-				for i, hit := range searchResult.Hits.Hits {
-					parseErr := json.Unmarshal(*hit.Source, &res[i])
-					if parseErr == nil && hit.Highlight != nil && res[i] != nil {
-						res[i]["highlight"] = map[string][]string(hit.Highlight)
-					}
-				}
-			} else {
-				log.Println("查询结果太多,查询到:", resNum, "条")
-			}
-		}
-	}
-	return count, &res
-}

+ 45 - 0
esv1/elasticutil.go

@@ -1372,3 +1372,48 @@ func GetResForJYView(index, itype string, keys []KeyConfig, allquery, findfields
 		return nil
 	}
 }
+
+//返回count 和 res
+func (e *Elastic) GetWithCount(index, itype, query string) (int64, *[]map[string]interface{}) {
+	client := e.GetEsConn()
+	defer func() {
+		go e.DestoryEsConn(client)
+	}()
+	var res []map[string]interface{}
+	var count int64 = 0
+	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())
+			return count, nil
+		}
+		if searchResult.Hits != nil {
+			resNum := len(searchResult.Hits.Hits)
+			count = searchResult.Hits.TotalHits
+			if resNum < 5000 {
+				res = make([]map[string]interface{}, resNum)
+				for i, hit := range searchResult.Hits.Hits {
+					parseErr := json.Unmarshal(*hit.Source, &res[i])
+					if parseErr == nil && hit.Highlight != nil && res[i] != nil {
+						res[i]["highlight"] = map[string][]string(hit.Highlight)
+					}
+				}
+			} else {
+				log.Println("查询结果太多,查询到:", resNum, "条")
+			}
+		}
+	}
+	return count, &res
+}