zoukankan      html  css  js  c++  java
  • 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/
  • 相关阅读:
    UIImageView
    正则表达式
    控制器生命周期和 UIView
    Storyboard
    1218.2——property关键字
    1218.1——OC中的常见关键字及一些基本方法
    1217.2——定义一个类+方法声明调用
    1217.1——OC准备
    1216.2——文件操作
    1216.1——双链表
  • 原文地址:https://www.cnblogs.com/haima/p/14484387.html
Copyright © 2011-2022 走看看