kafka-es.go

package es

import (
"context"
"encoding/json"
"fmt"
"kafka/mongo"
"log"
"os"

"github.com/olivere/elastic"

)

var client *elastic.Client

var host = "http://192.168.184.10:9200"

//初始化es驱动
func Connect() {
client, _ = elastic.NewClient(
// ...
// 将sniff设置为false后,便不会自动转换地址
elastic.SetSniff(false),
)
errorlog := log.New(os.Stdout, "app", log.LstdFlags)

var err error
client, err = elastic.NewClient(elastic.SetErrorLog(errorlog), elastic.SetURL(host), elastic.SetSniff(false))
if err != nil {
	panic(err)
}
info, code, err := client.Ping(host).Do(context.Background())
if err != nil {
	panic(err)
}
fmt.Printf("Es return with code %d and version %s \n", code, info.Version.Number)
esversionCode, err := client.ElasticsearchVersion(host)
if err != nil {
	fmt.Println("err:")
	panic(err)
}
fmt.Printf("es version %s\n", esversionCode)

}

//查找
func Get() {
get, err := client.Get().Index("test").Type("_doc").Id("Mk33VIkB0JvaroO0nbrb").Do(context.Background())
if err != nil {
panic(err)
}
if get.Found {
fmt.Printf("got document %s in version %d from index %s,type %s \n", get.Id, get.Version, get.Index, get.Type)

	var user mongo.User
	// 这里别忘了*,因为res.Source是地址
	if err := json.Unmarshal(*get.Source, &user); err != nil {
		fmt.Println("转换成json失败")
		return
	}
	fmt.Println(user)
}

}
func Insert() {
name := "test"
data := { "name": "wali", "age": 30, "city": "shenzhen" }
_, err := client.Index().Index(name).Type("_doc").Id("1").BodyJson(data).Do(context.Background())
fmt.Println(err)
}

posted on   木林coder  阅读(4)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示