elasticSearch 8.2.3 + spring boot + es client 快速上手

使用前提:

安装jdk, 最低1.8 ,尽量新版本,配置好java_home

第一步:下载

es下载地址:https://www.elastic.co/downloads/past-releases#elasticsearch 选择 8.2.3 版本
在这里插入图片描述
ik分词器下载:https://github.com/medcl/elasticsearch-analysis-ik
拼音分词器下载:自己百度一下,类似
在这里插入图片描述

在这里插入图片描述

第二步: 解压

以windows 版本为例(linux 把windows 配置的打包上去也是可以的,这里不做单独介绍)

1:把 elasticsearch-8.2.3 解压到你想要的盘
2:elasticsearch-8.2.3 里面找到 plugins 文件夹 ,进入,新建文件夹analysis-ik
3:把下载好的ik分词器8.2.3 解压到创建好的文件夹里面

第三步:编辑配置

回到elasticsearch-8.2.3 文件夹,进入config 目录
编辑:elasticsearch.yml 文件
添加:
#跨域
http.cors.enabled: true
http.cors.allow-origin: “*”
#ssl认证 改为false
xpack.security.http.ssl:
enabled: false
keystore.path: certs/http.p12

编辑 jvm.options 文件
#虚拟机参数,默认是4g,我的电脑没有这么大内存,你们可以自行调节
-Xms512m
-Xmx512m

第四步:启动

回到elasticsearch-8.2.3 文件夹,进入 bin 文件夹,启动 elasticsearch.bat
启动失败:可能会提示你jdk 版本过低,或者 找不到java_home ,es_home ,自己上网解决
启动成功:第一次启动成功会出现账户密码,
访问 你的 ip:9200
注意:如果没有记住账户密码,就要 修改 elasticsearch.yml 取消密码验证
进入es 后删除一个授权认证的索引.security-7,再修改需要认证,再重新启动(不懂就百度)

在这里插入图片描述
在这里插入图片描述

第五步:下载 elasticsearch-head

可以下载安装 elasticsearch-head
也可以使用谷歌浏览器的插件 (推荐快速上手使用):Multi elasticsearch head
在这里插入图片描述
在这里插入图片描述
好了,es 现在开始就安装完成了

第六步:集成spring boot

java 操作es 有好几种方式
今天介绍使用的是基于 lambda 表达式的 es Client
maven

  <!-- ES java api -->
        <dependency>
            <groupId>co.elastic.clients</groupId>
            <artifactId>elasticsearch-java</artifactId>
            <version>8.2.3</version>
        </dependency>
        <dependency>
            <groupId>jakarta.json</groupId>
            <artifactId>jakarta.json-api</artifactId>
            <version>2.0.1</version>
        </dependency>

yml

# spring相关配置
spring:
  elasticsearch:
    rest:
      uris: localhost:9200
      username: elastic
      password: nIFNHw9FyrB7UnW*Rh9p
      connection-timeout: 10s

第七步:es crud


import co.elastic.clients.elasticsearch.ElasticsearchClient;
import co.elastic.clients.elasticsearch._types.SortOrder;
import co.elastic.clients.elasticsearch._types.mapping.Property;
import co.elastic.clients.elasticsearch._types.query_dsl.Query;
import co.elastic.clients.elasticsearch.core.*;
import co.elastic.clients.elasticsearch.core.search.Highlight;
import co.elastic.clients.elasticsearch.core.search.Hit;
import co.elastic.clients.elasticsearch.indices.CreateIndexResponse;
import co.elastic.clients.transport.endpoints.BooleanResponse;
import co.elastic.clients.util.ObjectBuilder;
import com.find.home.common.entity.EsDTO;
import com.find.home.common.entity.EsResDTO;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;

import javax.annotation.Resource;
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.function.Function;


/**
 * EsClient 
 *
 * @author admin
 */

@Component
@Slf4j
public class EsClient {
   

    /**
     * 索引名称
     */
    public static final String HOUSE_INDEX = "xxxxx";

    @Resource
    private ElasticsearchClient client;

    /**
     * 判断索引是否存在
     *
     * @return
     * @throws Exception
     */
    public
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值