为了方便演示文档的CRUD操作,我们先定义索引的struct结构
根据文档ID,查询文档
通过多个Id批量查询文档,对应ES的multi get
根据id更新文档
支持批量更新文档内容
提示: 复杂查询条件,请参考 go es查询用法
创建es.go文件根据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 通过匹配条件更新文档
这里我使用elasticsearch官方给的go语言包(go-elasticsearch)go-elasticsearch向前兼容,这意味着客户端支持与更大或同等次要版本的 Elasticsearch 通信。Elasticsearch 语言客户端仅向后兼容默认发行版,不提供任何保证。
go.mod 文件中添加
或者
新建 es.go 存入 es目录
新建 main.go
https://github.com/elastic/go...
https://www.tizi365.com/archi...
https://www.elastic.co/guide/...