根据elasticsearch版本拉取对应的go包: github.com/elastic/go-elasticsearch
API文档: https://pkg.go.dev/github.com/elastic/go-elasticsearch/[email protected]/esapi?tab=doc
Index 在索引中创建或更新文档
索引不存在的情况下,会自动创建索引。
默认的_type(类型)是_doc,下面是指定doc类型创建添加的。
Search 搜索
DeleteByQuery 通过匹配条件删除文档
Delete通过_id删除文档
Create 添加文档(需要指定_id,_id已存在返回409)
Get 通过id获取文档
Update 通过_id更新文档
UpdateByQuery 通过匹配条件更新文档
我们在mian函数中,首先初始化配置文件,然后新建http连接。
这个连接创建之后,监听服务器的9999端口。如果url的路径后缀为 "/ws",就转发到ws/ws.go中的IndexHandler方法中。
这个方法中首先我们创建一个websocket的Upgrader实例,然后我们使用Upgrader的upgrade方法来升级一下我们的连接为长连接。
升级完成之后会返回一个*websocket.Conn的连接,我们之后所有的关于连接的操作,都是基于该conn的。
在该连接完成之后,我们将连接存放到一个名为Client的map中,以便之后管理更为方便。
之后,我们启动一个goroutine来读取连接中发送的信息内容,再根据内容进行相应的操作。
for index,val := range a {if val == '好' {
fmt.println(index,x)
}
}
对string做range得到的val是int32类型,直接用单引号比较就行