• go 操作elaticsearch


    olivere/elastic 包

    github.com/olivere/elastic

    doc:

    https://pkg.go.dev/github.com/olivere/elastic?utm_source=godoc

    package main
      
    import (
        "context"
        "fmt"
        "github.com/olivere/elastic"
    )
      
    创建索引:
    func main(){
        Client, err := elastic.NewClient(elastic.SetURL("http://192.168.7.6:9200"))
        fmt.Println(Client, err)
        name := "people2"
        Client.CreateIndex(name).Do(context.Background())
    }
     
    插入数据
    func main(){
        Client, err := elastic.NewClient(elastic.SetURL("http://192.168.7.6:9200"))
        fmt.Println(Client, err)
        name := "people2"
        data := `{
        "name": "wali",
        "country": "Chian",
        "age": 30,
        "date": "1987-03-07"
        }`
        _, err = Client.Index().Index(name).Type("man1").Id("1").BodyJson(data).Do(context.Background())
      
    }
      
    查找数据: //通过id查找
    func main(){
        Client, err := elastic.NewClient(elastic.SetURL("http://192.168.7.6:9200"))
        fmt.Println(Client, err)
        name := "people2"
        get, err := Client.Get().Index(name).Type("man1").Id("1").Do(context.Background())
        fmt.Println(get, err)
      
    }
     
     
     
    //修改
    func main() {
        Client, err := elastic.NewClient(elastic.SetURL("http://192.168.7.6:9200"))
            res, err := client.Update().
            Index("megacorp").
            Type("employee").
            Id("2").
            Doc(map[string]interface{}{"age": 88}).
            Do(context.Background())
            if err != nil {
                println(err.Error())
            }
            fmt.Printf("update age %s
    ", res.Result)
      
    }
     
     
     
    删除数据
    func main(){
        Client, err := elastic.NewClient(elastic.SetURL("http://192.168.7.6:9200"))
        //使用结构体
            e1 := Employee{"Jane", "Smith", 32, "I like to collect rock albums", []string{"music"}}
        //创建
            put1, err := client.Index().
            Index("megacorp").
            Type("employee").
            Id("1").
            BodyJson(e1).
            Do(context.Background())
            if err != nil {
                panic(err)
            }
        //删除
        get, err := Client.Get().Index("megacorp").Type("employee").Id("1").Do(context.Background())
        fmt.Println(get, err)
    }
    

    参考:
    https://www.cnblogs.com/-wenli/p/12737196.html


    官方包

    参考:

    https://github.com/elastic/go-elasticsearch 来连接ES并进行操作。
    https://www.cnblogs.com/binHome/p/12345413.html

    [Haima的博客] http://www.cnblogs.com/haima/
  • 相关阅读:
    falsk简单项目示例
    bootstrap基础
    flask models循环使用和migrate迁移脚本
    flask-script
    flask 钩子函数
    flask get和post请求使用
    flask SQLALchemy外键及约束
    flask SQLAlchemy
    关于虚拟机端口转发的一次理解和记录
    记录一次VMware与xshell远程链接的总结
  • 原文地址:https://www.cnblogs.com/haima/p/14484387.html
Copyright © 2020-2023  润新知