elasticsearch.go 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. package elasticsearch
  2. import (
  3. elastic "app.yhyue.com/moapp/jybase/es"
  4. "context"
  5. "github.com/gogf/gf/v2/frame/g"
  6. "github.com/gogf/gf/v2/util/gconv"
  7. "strings"
  8. )
  9. type esConf struct {
  10. Version string `json:"version"`
  11. Address string `json:"address"`
  12. Size int `json:"size"`
  13. UserName string `json:"userName"`
  14. Password string `json:"password"`
  15. }
  16. var (
  17. EsMap map[string]elastic.Es
  18. JyEs elastic.Es
  19. )
  20. func init() {
  21. EsMap = map[string]elastic.Es{}
  22. ctx := context.Background()
  23. var initFinish []string
  24. for key, val := range g.Cfg().MustGet(context.Background(), "elasticsearch").Map() {
  25. var ec esConf
  26. if err := gconv.Struct(val, &ec); err != nil {
  27. g.Log().Errorf(ctx, "初始化elasticsearch %s出错", key)
  28. continue
  29. }
  30. esThis := elastic.NewEs(ec.Version, ec.Address, ec.Size, ec.UserName, ec.Password)
  31. EsMap[key] = esThis
  32. g.Log().Infof(ctx, "初始化 elasticsearch %s成功 ", key)
  33. initFinish = append(initFinish, key)
  34. }
  35. JyEs, _ = EsMap["default"]
  36. g.Log().Infof(ctx, "初始化 elasticsearch【%s】 完成", strings.Join(initFinish, ","))
  37. }