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安全错误
数据库的锁怎样保障安全
战网服务器
浙江网络技术咨询制品价格
网络安全之意义
网络安全细分领域分析
网络安全最近发生了什么
不是服务器电脑怎么登录账套管理
三大网络安全厂商
静态数据库怎么设置
余姚财务软件开发好吗
网络安全国旗下
数据库行锁报错
京东商智怎么看指数数据库
路由器怎么架设联机服务器
天悦天网络技术服务部
厦门计算机软件开发公司
曙光服务器加内存
铁血数据库怎么用
X6软件开发
mydb数据库
蓝道网络技术
塔科夫怎么去人少的服务器
bim数据库开标
oralce 数据库端口
关于网络安全的诗歌 短诗
服务器机箱风扇电源接线
软件开发工程实践报告书
上海如创网络技术公司
网络安全问题技术及解决办法
小米路由器 git服务器
信达在线网络技术