1 Star 0 Fork 0

ichub/webcli

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
esmodel.go 1.98 KB
一键复制 编辑 原始数据 按行查看 历史
leijmdas 提交于 2024-03-30 20:17 +08:00 . add
package basemodel
import (
"context"
"fmt"
"github.com/olivere/elastic"
)
var client *elastic.Client
var host = "http://192.168.4.119:9200"
// 初始化
func EsInit() {
//errorlog := log.New(os.Stdout, "APP", log.LstdFlags)
var err error
client, err = elastic.NewClient(elastic.SetSniff(false), elastic.SetURL(host))
if err != nil {
panic(err)
}
_, _, err = client.Ping(host).Do(context.Background())
if err != nil {
panic(err)
}
//fmt.Printf("Elasticsearch returned with code %d and version %s\n", code, info.Version.Number)
_, err = client.ElasticsearchVersion(host)
if err != nil {
panic(err)
}
}
type EsModel struct {
IndexName string
TypeName string
ID string
Body interface{}
}
func (es *EsModel) Save() {
//e1 := Employee{"Jane", "Smith", 32, "I like to collect rock albums", []string{"music"}}
put1, err := client.Index().
Index(es.IndexName).Type(es.TypeName).Id(es.ID).
BodyJson(es.Body).Do(context.Background())
if err != nil {
panic(err)
}
fmt.Printf("Indexed tweet %s to index s%s, type %s\n", put1.Id, put1.Index, put1.Type)
}
func (es *EsModel) update(m map[string]interface{}) {
res, err := client.Update().Index(es.IndexName).Type(es.TypeName).Id(es.ID).
Doc(m).Do(context.Background())
if err != nil {
println(err.Error())
}
fmt.Printf("update age %s\n", res.Result)
}
func (es *EsModel) DeleteById(id string) {
res, err := client.Delete().Index(es.IndexName).Type(es.TypeName).Id(id).
Do(context.Background())
if err != nil {
println(err.Error())
return
}
fmt.Printf("DeleteById result %s\n", res.Result)
}
func (es *EsModel) FindById(id string) {
//通过id查找
getRes, err := client.Get().Index(es.IndexName).Type(es.TypeName).Id(id).Do(context.Background())
if err != nil {
panic(err.Error())
}
if getRes.Found {
fmt.Printf("Got document %s in version %d from index %s, type %s\n", getRes.Id, getRes.Version, getRes.Index, getRes.Type)
//es.Body = []byte(getRes.Source)
//fmt.Println(string(getRes.Source))
}
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Go
1
https://gitee.com/ichub/webcli.git
git@gitee.com:ichub/webcli.git
ichub
webcli
webcli
v0.0.2

搜索帮助