go整合elasticsearch
- 基于docker搭建开发环境
在开发之前我们首先需要借助docker来构建我们的开发环境,先创建一个文件名称为docker-compose.yaml, 里面写入下面的内容:
---version: "3"services:elasticsearch:image: docker.elastic.co/elasticsearch/elasticsearch:7.10.0container_name: es01environment:- node.name=es01- cluster.name=docker-cluster- bootstrap.memory_lock=true- "ES_JAVA_OPTS=-Xms512m -Xmx512m"- discovery.type=single-nodeulimits:memlock:soft: -1hard: -1volumes:- esdata:/usr/share/elasticsearch/dataports:- 9200:9200kibana:image: docker.elastic.co/kibana/kibana:7.10.0ports:- 5601:5601depends_on:- elasticsearchvolumes:esdata:driver: local
使用docker-compose up -d 启动容器,之后在浏览器中分别验证es和kibana的运行状态
验证es:http://localhost:9200/
验证kibana:http://localhost:5601
- 检查客户端api
package mainimport ("fmt""github.com/elastic/go-elasticsearch/v7"
)func main() {es, err := elasticsearch.NewDefaultClient()if err != nil {fmt.Println(err)return}res, err := es.Info()if err != nil {fmt.Println(err)return}defer res.Body.Close()fmt.Println(res)}
- 索引相关操作
- 创建索引
package mainimport ("context""fmt""github.com/elastic/go-elasticsearch/v7""log"
)func main() {cfg := elasticsearch.Config{Addresses: []string{