elasticsearch3中golang怎么用
发表于:2024-12-12 作者:千家信息网编辑
千家信息网最后更新 2024年12月12日,这篇文章主要介绍elasticsearch3中golang怎么用,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!package mainimport ( "cont
千家信息网最后更新 2024年12月12日elasticsearch3中golang怎么用
这篇文章主要介绍elasticsearch3中golang怎么用,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
package mainimport ( "context" "fmt" "github.com/olivere/elastic" "reflect" "time")var ( esUrl = "http://s100:9200" ctx = context.Background())type User struct { Name string `json:"name"` Age int `json:"age"`}func main() { // 链接服务器 client, err := elastic.NewClient( elastic.SetSniff(false), elastic.SetURL(esUrl), elastic.SetHealthcheckInterval(10*time.Second), elastic.SetMaxRetries(5), ) if err != nil { panic(err.Error()) } // 获取基本信息 info, code, err := client.Ping(esUrl).Do(ctx) if err != nil { panic(err.Error()) } fmt.Println(">>es-info>>", info.Version.Number, code) client.Delete().Index("user") // 是否存在索引 exists, err := client.IndexExists("user").Do(ctx) if err != nil { panic(err.Error()) } fmt.Println(">>index-exists>>", exists) // 创建索引 if !exists { rst, err := client.CreateIndex("user").Do(ctx) if err != nil { panic(err.Error()) } fmt.Println(">>index-index>>", rst.Index) } // 批量添加 for i := 1; i <= 3; i++ { id := fmt.Sprintf("%d", i) rsp, err := client.Index(). Index("user"). Id(id). BodyJson(&User{Name: fmt.Sprintf("name%d", i), Age: i}). Do(ctx) if err != nil { panic(err.Error()) } fmt.Println(">>doc-create>>", "id:", rsp.Id, "index:", rsp.Index, "type:", rsp.Type, "seqno:", rsp.SeqNo, "result:", rsp.Result, "status:", rsp.Status) } // 修改 rsp, err := client.Update().Index("user").Id("1").Doc(&User{Name: "name100", Age: 100}).Do(ctx) if err != nil { panic(err.Error()) } fmt.Println(">>doc-update>>", rsp) // 删除 rsp2, err2 := client.Delete().Index("user").Id("2").Do(ctx) if err2 != nil { panic(err2.Error()) } fmt.Println(">>doc-delete>>", rsp2) // 查询所有 rst, err := client.Search().Index("user").Do(ctx) if err != nil { panic(err.Error()) } for _, u := range rst.Each(reflect.TypeOf(User{})) { fmt.Println(">>search-all>>", u.(User).Name, u.(User).Age) } // 查询条件 - 相等 q := elastic.NewQueryStringQuery("name:name1") rst, err = client.Search().Index("user").Query(q).Do(ctx) if err != nil { panic(err.Error()) } for _, u := range rst.Each(reflect.TypeOf(User{})) { fmt.Println(">>search-eq>>", u.(User).Name, u.(User).Age) } // // 查询条件 - 大于 - 分页 q2 := elastic.NewBoolQuery() q2.Must(elastic.NewRangeQuery("age").Gt(3)) rst, err = client.Search(). Index("user"). Size(2). From(1). Sort("age", false). Query(q2). Do(ctx) if err != nil { panic(err.Error()) } for _, u := range rst.Each(reflect.TypeOf(User{})) { fmt.Println(">>search-eq2>>", u.(User).Name, u.(User).Age) }}
以上是"elasticsearch3中golang怎么用"这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注行业资讯频道!
u.
查询
内容
条件
篇文章
索引
价值
信息
兴趣
小伙
小伙伴
更多
服务器
知识
行业
资讯
资讯频道
链接
频道
参考
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
网站怎么更新数据库表
银行ra服务器是什么意思
网络安全的策略和方法
给服务器一个固定ip
clay粘土服务器怎么晋级
管家婆数据库下载
国泰安查找数据库
湛江教育软件开发
数据库调度类
无法连接到封面服务器是怎么回事
基础设施网络安全会议
侦查系统正版软件开发公司
临床数据库设计员需要会哪些
肖战指使蒙古上单杀入b站服务器
怎么下载万方数据库的期刊
无锡智能软件开发报价
网络安全宣传大使胡曦予
tbc现在各服务器人口情况
网络安全陇剑杯
软件开发人员奖金制度
滴滴用什么软件开发票
毕业鉴定软件开发
关于软件开发版权
四川服务器ups不间断电源
k药数据库
豆客平台进不去服务器
软件开发能力体现
文登软件开发企业
反电诈网络安全教育
服务器CPU2021排行