golang elasticsearch 文档操作(CRUD) --- 2022-04-02

Python017

golang elasticsearch 文档操作(CRUD) --- 2022-04-02,第1张

本节主要介绍go语言对Elasticsearch文档的基础操作:创建、查询、更新、删除。

为了方便演示文档的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/...