springboot集成elasticsearch8.X(8.11) 最新版的Java API Client 接口

1.官网网址:https://www.elastic.co/guide/en/elasticsearch/client/java-api-client/8.11/getting-started-java.html

2.springboot 的elasticsearch相关依赖

         <dependency>
            <groupId>co.elastic.clients</groupId>
            <artifactId>elasticsearch-java</artifactId>
            <version>8.11.2</version>
            <exclusions>
                <exclusion>
                    <groupId>org.elasticsearch.client</groupId>
                    <artifactId>elasticsearch-rest-client</artifactId>
                </exclusion>
            </exclusions>
        </dependency>

        <dependency>
            <groupId>org.elasticsearch.client</groupId>
            <artifactId>elasticsearch-rest-client</artifactId>
            <version>8.11.2</version>
        </dependency>

        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-databind</artifactId>
            <version>2.12.3</version>
        </dependency>

        <!-- Needed only if you use the spring-boot Maven plugin -->
        <dependency>
            <groupId>jakarta.json</groupId>
            <artifactId>jakarta.json-api</artifactId>
            <version>2.0.1</version>
        </dependency>

      <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
        </dependency>

3.添加配置文件

@Configuration
public class GulimallElasticsearchConfig {
    //创造连接,并返回json格式数据
    @Bean
    public ElasticsearchClient elasticsearchClient(){
        RestClient client = RestClient.builder(new HttpHost("localhost",9200,"http")).build();
        ElasticsearchTransport transport = new RestClientTransport(client, new JacksonJsonpMapper());
        return new ElasticsearchClient(transport);
    }


}

4.操作数据 

4.1 测试的实体类
@Data
@AllArgsConstructor
@NoArgsConstructor
public class User {
    public String userName;
    public Integer age;
    public String gender;

}
4.2插入数据 

我是在controller层测试的,操作数据之前请先注入ElasticsearchClient ,检查注入的包是否正确

 import co.elastic.clients.elasticsearch.ElasticsearchClient;


    @Autowired
    private ElasticsearchClient esClient;
      User user = new User("测试", 18, "男");
        try {
            esClient.index(i -> i
                    .id("1")
                    .index("user")
                    .document(user));
        } catch (IOException e) {
            e.printStackTrace();
        }

4.3.查询数据
GetResponse<User > response = esClient.get(g -> g
    .index("user") 
    .id("1"),
    User.class      
);

if (response.found()) {
    User user = response.source();
    logger.info("user name " + user.getUserName());
} else {
    logger.info ("Product not found");
}
添加match条件查询
 User user = new User ();
        try {
            SearchResponse<User> search = esClient.search(s -> s.
                            index("bank")
                            .query(q -> q
                                    .match(t -> t
                                            .field("userName")
                                            .query("测试"))
                            )
                    ,
                    User .class);
            List<Hit<User>> hits = search.hits().hits();
            hits.forEach(productHit -> {
                User source = productHit.source();
                System.out.println(source.toString());
            });

        } catch (Exception e) {
            e.printStackTrace();
        }

删除和修改可以参考官网

官网地址

  • 17
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论
对于Spring Boot集成Elasticsearch Java API Client,你可以按照以下步骤进行操作: 1. 首先,你需要在你的项目中添加Elasticsearch的依赖。可以在官方文档()中找到相关的依赖信息。 2. 接下来,你可以通过创建低级别的RestClient来连接到Elasticsearch。你可以使用以下代码片段来创建一个基于RestClient的传输对象: ```java RestClient restClient = RestClient.builder(new HttpHost("localhost", 9200)).build(); ElasticsearchTransport transport = new RestClientTransport(restClient, new JacksonJsonpMapper()); ElasticsearchClient client = new ElasticsearchClient(transport); ``` 3. 一旦你建立了与Elasticsearch的连接,你就可以使用ElasticsearchClient来执行各种操作。比如,你可以使用以下代码来创建一个索引: ```java CreateIndexResponse createIndexResponse = client.indices().create(c -> c.index("newapi")); ``` 在这个例子中,"newapi"是你要创建的索引的名称。 所以,以上是使用Spring Boot集成Elasticsearch Java API Client的基本步骤。你可以根据你的具体需求进一步使用ElasticsearchAPI来完成其他操作。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [springboo整合elasticSearch8 java client api](https://blog.csdn.net/A434534658/article/details/125239480)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

昔~年

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值