GO 语言连接elasticsearch 并执行搜索,添加,增加日志打印
package main import ( "context" "encoding/json" "fmt" "github.com/olivere/elastic/v7" "log" "os" ) type Student struct { Name string `json:"name"` } func main() { host := "http://192.168.0.104:9200" logger := log.New(os.Stdout, "log:", log.LstdFlags)//设置log client, err := elastic.NewClient(elastic.SetURL(host), elastic.SetSniff(false), elastic.SetTraceLog(logger)) if err != nil { fmt.Println(err) return } q := elastic.NewMatchQuery("name", "王") result, err := client.Search().Index("user").Query(q).Do(context.Background()) if err != nil { fmt.Println(err) return } fmt.Println(result.Hits.TotalHits.Value) for _, value := range result.Hits.Hits { student := Student{} _ = json.Unmarshal(value.Source, &student) fmt.Println(student) } student := Student{Name: "王老五"} res, err := client.Index().Index("user").BodyJson(student).Do(context.Background()) if err != nil { fmt.Println(err) return } fmt.Printf("%+v,%+v,%+v", res.Id, res.Type, res.Index) }
发表评论