11 Elasticsearch 索引与文档操作之添加、更新与删除文档
在上篇中,我们学习了如何创建索引,这是使用 Elasticsearch 的第一步。在这一篇中,我们将深入探讨如何在索引中进行文档操作,包括文档的添加、更新与删除。我们将通过具体的案例来帮助理解这些基本操作。
添加文档
在 Elasticsearch 中,您可以通过 PUT
或 POST
请求来添加文档。假设我们有一个名为 books
的索引,其中存储了一些书籍的信息。每个书籍文档可以包含 title
(标题)、author
(作者) 和 published_year
(出版年份)等字段。
添加单个文档
我们可以用如下命令添加一个文档:
1 | PUT /books/_doc/1 |
在这个例子中,1
是文档的 ID。如果您不提供文档 ID,Elasticsearch 将自动为您分配一个。
添加多个文档
如果您想一次性添加多个文档,可以使用 _bulk
API。例如:
1 | POST /_bulk |
此代码片段中,我们使用 POST /_bulk
发送多个文档,这样可以大幅提高数据写入的效率。
更新文档
有时候我们需要更新已有的文档。在 Elasticsearch 中,您可以使用 POST
请求来更新文档。
更新单个文档
假设我们想要更新文档 ID 为 1
的书籍信息,新增 genre
(类型)字段,可以使用如下命令:
1 | POST /books/_doc/1/_update |
在这里,我们使用了 _update
API,修改了文档的部分内容。
使用脚本更新
您还可以使用脚本来更新文档,以下是一个示例:
1 | POST /books/_doc/1/_update |
上述示例利用 Painless 脚本语言将出版年份加一。
删除文档
最后,我们来看看如何删除文档。如果您不再需要某个文档,可以通过 DELETE
请求来删除它。
删除单个文档
例如,删除文档 ID 为 1
的文档:
1 | DELETE /books/_doc/1 |
执行此命令后,文档将从 books
索引中移除。
批量删除文档
同样,您可以使用 _bulk
API 批量删除文档:
1 | POST /_bulk |
如上所示,一次性删除多个文档。
小结
通过本文的学习,我们已经掌握了如何在 Elasticsearch 中对文档进行添加、更新和删除操作。这些操作是使用 Elasticsearch 进行数据管理的基础,将为后续的文档检索打下坚实的基础。在下一篇中,我们将探索如何在 Elasticsearch 中检索文档,以便从我们刚刚管理的数据中提取信息。
11 Elasticsearch 索引与文档操作之添加、更新与删除文档