RestClient操作 Elasticsearch(ES)索引库和文档

发布于 2024-07-17
1237

我们非常重视原创文章,为尊重知识产权并避免潜在的版权问题,我们在此提供文章的摘要供您初步了解。如果您想要查阅更为详尽的内容,访问作者的公众号页面获取完整文章。

扫码阅读
手机扫码阅读
RestClient操作Elasticsearch摘要

RestClient操作 Elasticsearch(ES)索引库和文档摘要

掌握目标

本文旨在介绍使用Java High-Level Rest Client操作Elasticsearch(ES)的索引库和文档的基本流程及相关技术细节。

什么是RestClient

RestClient是ES官方提供的客户端工具,可通过HTTP请求发送DSL语句操作ES。Java Rest Client分为两种:Low-Level和High-Level版本,本文重点讲解的是High-Level Rest Client。

索引库操作

项目准备

本文通过一个名为“elastic-demo”的SpringBoot项目进行演示,数据来源于数据库表结构“tb_wine_shop”,并通过mapping映射将表结构与ES索引库结构对接。

初始化RestClient

通过引入依赖和配置RestHighLevelClient实现初始化。配置包括指定ES的用户名和密码,并将其注入Spring容器。

创建、删除及判断索引库

创建索引库通过CreateIndexRequest实现,主要步骤包括创建Request对象、准备DSL语句和发送请求。类似地,删除索引库使用DeleteIndexRequest,而判断索引库是否存在使用GetIndexRequest。

文档操作

新增文档

通过创建实体类(WineShop)及其映射类(WineShopDoc),将数据库数据导入ES。新增文档的步骤包括创建IndexRequest、准备JSON文档和发送请求。

查询文档

查询文档通过GetRequest实现,重点在于解析返回的JSON数据并转换为实体类对象。

删除文档

删除文档使用DeleteRequest,步骤包括创建Request对象、发送请求并完成删除操作。

修改文档

修改文档分为全量修改和增量修改。增量修改通过UpdateRequest实现,可直接更新指定字段值。

批量导入文档

批量导入文档通过BulkRequest实现,可将多个新增、修改或删除操作组合成批处理请求。

总结

Java Rest Client操作ES的索引库和文档遵循类似的流程:

  • 索引库操作:初始化客户端、创建Request对象、准备DSL、发送请求。
  • 文档操作:初始化客户端、创建Request对象、准备参数、发送请求、解析结果。

掌握这些基本步骤即可灵活操作ES进行索引库及文档的增删改查。

springboot葵花宝典