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.ymlapplication.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的整合。

相关推荐
bug攻城狮9 分钟前
Spring Boot Banner
java·spring boot·后端
赵孝正15 分钟前
GitLab 分支管理与 Push 问题全解析
大数据·elasticsearch·gitlab
MadPrinter35 分钟前
SpringBoot学习日记 Day11:博客系统核心功能深度开发
java·spring boot·后端·学习·spring·mybatis
子兮曰38 分钟前
🔥C盘告急!WSL磁盘暴增?三招秒清20GB+空间
前端·windows·docker
Java水解2 小时前
Spring Boot 启动流程详解
spring boot·后端
一刀到底2112 小时前
springboot3.3.5 集成elasticsearch8.12.2 ssl 通过 SSL bundle name 来实现
网络·elasticsearch·ssl·springboot3
学历真的很重要2 小时前
Claude Code Windows 原生版安装指南
人工智能·windows·后端·语言模型·面试·go
李游Leo2 小时前
LaTeX TeX Live 安装与 CTAN 国内镜像配置(Windows / macOS / Linux 全流程)
linux·windows·macos
Elasticsearch2 小时前
Elasticsearch:智能搜索的 MCP
elasticsearch
网安Ruler2 小时前
第49天:Web开发-JavaEE应用&SpringBoot栈&模版注入&Thymeleaf&Freemarker&Velocity
java·spring boot·后端