Windows安装Elasticsearch及Spring Boot整合ES教程

目录

      • 一、在Windows上安装Elasticsearch
        • [1. 下载Elasticsearch](#1. 下载Elasticsearch)
        • [2. 配置Elasticsearch](#2. 配置Elasticsearch)
        • [3. 启动Elasticsearch](#3. 启动Elasticsearch)
        • [4. 安装Head插件(可选)](#4. 安装Head插件(可选))
      • [二、Spring Boot整合Elasticsearch](#二、Spring Boot整合Elasticsearch)
        • [1. 创建Spring Boot项目并添加依赖](#1. 创建Spring Boot项目并添加依赖)
        • [2. 配置Spring Boot连接Elasticsearch](#2. 配置Spring Boot连接Elasticsearch)
        • [3. 创建实体类和Repository接口](#3. 创建实体类和Repository接口)
        • [4. 测试代码](#4. 测试代码)
        • [5. 启动Spring Boot项目](#5. 启动Spring Boot项目)
        • [6. 注意事项](#6. 注意事项)
      • 三、总结

一、在Windows上安装Elasticsearch

Elasticsearch是一个基于Lucene的开源搜索引擎,主要用于海量数据的实时搜索和分析。在Windows系统上安装Elasticsearch的过程相对简单。以下是具体步骤。

1. 下载Elasticsearch
  1. 访问Elasticsearch官方页面。
  2. 选择你需要的版本(建议使用最新版,以获取最新的特性和修复),下载对应的zip包。
  3. 将下载的压缩包解压到目标安装目录,例如D:\elasticsearch。
2. 配置Elasticsearch
  1. 打开config文件夹中的elasticsearch.yml配置文件,进行如下修改:
    • 修改集群名称(可选):找到cluster.name,可以将其修改为自定义名称。
    • 修改节点名称(可选):找到node.name,定义当前节点的名称。
    • 设置数据存储路径:找到path.data,将其设置为所需的数据存储路径,例如:D:\elasticsearch\data。
    • 设置日志存储路径:找到path.logs,将其设置为所需的日志存储路径,例如:D:\elasticsearch\logs。
    • 配置网络绑定:找到network.host,将其设置为0.0.0.0(允许所有IP地址访问),或者localhost(仅本机访问)。
    • 配置端口号(默认是9200):找到http.port,可根据需求更改。
  2. 保存配置文件并关闭。
3. 启动Elasticsearch
  1. 进入Elasticsearch根目录,打开命令行窗口。

  2. 运行bin\elasticsearch.bat启动Elasticsearch。

  3. 启动成功后,打开浏览器访问http://localhost:9200,应该看到如下JSON信息表示启动成功:

    json 复制代码
    {
      "name" : "node-1",
      "cluster_name" : "elasticsearch",
      "cluster_uuid" : "xyz12345",
      "version" : {
        "number" : "8.x.x",
        ...
      },
      "tagline" : "You Know, for Search"
    }
4. 安装Head插件(可选)

为了更方便地管理和查看数据,可以安装elasticsearch-head插件。

  1. 打开浏览器访问Head插件GitHub页面。
  2. 按照说明运行插件,并通过浏览器访问http://localhost:9100。

二、Spring Boot整合Elasticsearch

完成Elasticsearch在Windows的安装后,接下来演示如何在Spring Boot项目中集成Elasticsearch。

1. 创建Spring Boot项目并添加依赖
  1. 在IDEA中创建一个Spring Boot项目,并添加以下依赖:
xml 复制代码
<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-data-elasticsearch</artifactId>
    </dependency>
</dependencies>
2. 配置Spring Boot连接Elasticsearch

在application.yml或application.properties文件中添加如下配置:

yaml 复制代码
spring:
  elasticsearch:
    uris: http://localhost:9200  # 设置Elasticsearch地址
3. 创建实体类和Repository接口

假设我们有一个简单的商品数据,需要将其存储到Elasticsearch中。

  1. 创建实体类 Product:

    java 复制代码
    import org.springframework.data.annotation.Id;
    import org.springframework.data.elasticsearch.annotations.Document;
    
    @Document(indexName = "products")
    public class Product {
    
        @Id
        private String id;
        private String name;
        private Double price;
        private String description;
    
        // getters and setters
    }
  2. 创建Repository接口 ProductRepository:

    java 复制代码
    import org.springframework.data.elasticsearch.repository.ElasticsearchRepository;
    
    public interface ProductRepository extends ElasticsearchRepository<Product, String> {
        // 自定义查询方法可以在这里定义,例如根据名称查找
        List<Product> findByName(String name);
    }
4. 测试代码

编写测试类,插入和查询数据:

java 复制代码
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.CommandLineRunner;
import org.springframework.stereotype.Component;

@Component
public class ElasticsearchTest implements CommandLineRunner {

    @Autowired
    private ProductRepository productRepository;

    @Override
    public void run(String... args) throws Exception {
        // 插入数据
        Product product = new Product();
        product.setId("1");
        product.setName("Laptop");
        product.setPrice(999.99);
        product.setDescription("High-performance laptop");
        productRepository.save(product);

        // 查询数据
        List<Product> products = productRepository.findByName("Laptop");
        products.forEach(p -> System.out.println(p.toString()));
    }
}
5. 启动Spring Boot项目
  1. 启动项目后,Spring Boot会自动连接到Elasticsearch。
  2. 在ElasticsearchTest中,我们插入了一条商品数据并通过findByName查询输出。
6. 注意事项
  • Elasticsearch版本要与Spring Data Elasticsearch版本兼容,不兼容可能导致连接失败。
  • 在生产环境中,需设置更严格的安全配置,例如使用认证、HTTPS等。

三、总结

通过以上步骤,我们实现了在Windows系统上安装Elasticsearch,并在Spring Boot中完成了与Elasticsearch的整合。

相关推荐
EatFan1 小时前
Spring Boot 4 落地观察:从 yudao-cloud、matecloud、JPower 看国产脚手架的升级路线与迁移清单
java·spring boot·后端·spring cloud·微服务·后端开发·jdk 21
段一凡-华北理工大学2 小时前
大模型应用开发 100 天:Python + LLM 从入门到精通 day26~Prompt 调试与优化——A/B 测试与效果评估
windows·python·大模型·prompt·智能体·提示词工程·高炉智能化
fox_charon3 小时前
Windows 下 CLI 参数的引号陷阱:为什么 --resume 'uuid' 会失败
windows·shell·cmd·cli·引号
染指11105 小时前
128.Agent-LangChain核心组件-中间件-调用模型的时候
人工智能·windows·中间件·langchain·agent
liuhl09105 小时前
【无标题】
大数据·elasticsearch·搜索引擎
Frag0ut5 小时前
Chrome与Chromium内核浏览器在Windows 11上的新特性全景解析
前端·chrome·windows·web安全·chromium·gemini ai·playready drm
数安旭说7 小时前
企业终端安全实战:Windows软件管控、正版检测、变更审计与私有软件库落地
windows·企业安全·软件需求·终端安全·软件管理·正版检测·终端审计
xbgRS7 小时前
Elasticsearch的查询
elasticsearch
凤山老林8 小时前
Spring Boot 集成 iText 7 实现动态 PDF 生成与电子签章:合同、报表场景实战
spring boot·后端·pdf·itext7·电子签章
卓怡学长8 小时前
w204基于springbo旅行社签证代理服务系统
java·spring boot·spring·intellij-idea