go:操作es

106 阅读1分钟

参考网址

blog.csdn.net/ydl1128/art…

demo

依赖的库包: github.com/olivere/elastic

demo

package main

import (
    "context"
    "fmt"

    "github.com/olivere/elastic/v7"
)

// Elasticsearch demo

type Person struct {
    Name    string `json:"name"`
    Age     int    `json:"age"`
    Married bool   `json:"married"`
}

func main() {
    // 创建一个客户端
    client, err := elastic.NewClient(elastic.SetURL("http://192.168.1.7:9200"))
    if err != nil {
        // Handle error
        panic(err) // 如果客户端创建报错,就直接panic
    } else {
        fmt.Println("connect to es success")
    }
    
    p1 := Person{Name: "rion", Age: 22, Married: false}  // 初始化一个对象
    // 存储数据的时候,指定index索引,把数据存储进去
    put1, err := client.Index().
            Index("user").
            BodyJson(p1).
            Do(context.Background())
    if err != nil {
        // Handle error
        panic(err)
    }
    
    fmt.Printf("Indexed user %s to index %s, type %s\n", 
            put1.Id, put1.Index, put1.Type)
}