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

server/2024/11/19 12:47:59/

目录

      • 一、在Windows上安装Elasticsearch
        • 1. 下载Elasticsearch
        • 2. 配置Elasticsearch
        • 3. 启动Elasticsearch
        • 4. 安装Head插件(可选)
      • 二、Spring Boot整合Elasticsearch
        • 1. 创建Spring Boot项目并添加依赖
        • 2. 配置Spring Boot连接Elasticsearch
        • 3. 创建实体类和Repository接口
        • 4. 测试代码
        • 5. 启动Spring Boot项目
        • 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信息表示启动成功:
    {"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项目,并添加以下依赖:
<dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-elasticsearch</artifactId></dependency>
</dependencies>
2. 配置Spring Boot连接Elasticsearch

application.ymlapplication.properties文件中添加如下配置:

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

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

  1. 创建实体类 Product

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

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

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

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.CommandLineRunner;
import org.springframework.stereotype.Component;@Component
public class ElasticsearchTest implements CommandLineRunner {@Autowiredprivate ProductRepository productRepository;@Overridepublic 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的整合。


http://www.ppmy.cn/server/143188.html

相关文章

Jenkins + gitee 自动触发项目拉取部署(Webhook配置)

目录 前言 Generic Webhook Trigger 插件 下载插件 ​编辑 配置WebHook 生成tocken 总结 前言 前文简单介绍了Jenkins环境搭建&#xff0c;本文主要来介绍一下如何使用 WebHook 触发自动拉取构建项目&#xff1b; Generic Webhook Trigger 插件 实现代码推送后&#xff0c;触…

RK3568笔记七十:使用xml记录数据

若该文为原创文章,转载请注明原文出处。 一、前言 在开发项目过程中,有一些操作记录或事件数据需要记录在本地或服务器,记录在本地有很多方式,这里记录使用xml简单的方式处理数据。 示例: 这是我想要记录下来的格式,累计记录200条,其中,可以创建参数,修改参数,查询…

数据分析-49-时间序列信息编码之采用虚拟变量

文章目录 1 基本概念1.1 虚拟变量(one-hot)1.2 时间特征2 模拟数据2.1 日期序列2.2 目标序列3 编码虚拟变量(one-hot)3.1 年份编码3.2 月份编码3.3 星期几编码4 拟合模型4.1 构建数据集(每月编码)4.2 构建数据集(每日编码)5 参考附录1 基本概念 1.1 虚拟变量(one-hot) 虚拟变…

Java-03 深入浅出 MyBatis - 快速入门(无 Spring) 增删改查 核心配置讲解 XML 与 注解映射

点一下关注吧&#xff01;&#xff01;&#xff01;非常感谢&#xff01;&#xff01;持续更新&#xff01;&#xff01;&#xff01; 大数据篇正在更新&#xff01;https://blog.csdn.net/w776341482/category_12713819.html 目前已经更新到了&#xff1a; MyBatis&#xff…

kafka-clients之max.block.ms

max.block.ms 是 Kafka 客户端Producer配置中的一个参数&#xff0c;决定了客户端阻塞的最大时间。当生产者调用某些方法&#xff08;如 send() &#xff09;时&#xff0c;如果客户端在内部遇到某些资源&#xff08;如元数据或可用的缓冲区空间&#xff09;不可用&#xff0c;…

ETH钱包地址如何获取 如何购买比特币

首先我们要先注册一个交易所 Gate.io&#xff08;推荐&#xff09;: 点我注册 1、注册很简单&#xff0c;通过手机号就可以进行注册了。 2、获取ETH钱包地址 注册好之后&#xff0c;如图所示&#xff0c;点击“统一账户” 3、通过搜索栏搜索ETH&#xff0c;如下图所示 4、点…

Spring Cloud Ribbon 实现“负载均衡”的详细配置说明

1. Ribbon 介绍 Ribbon 是什么 &#xff1f; 1.Spring Cloud Ribbon 是基于Netflix Ribbon 实现的一套客户端&#xff0c;负载均衡的工具 2.Ribbon 主要功能是提供客户端负载均衡算法和服务调用 3.Ribbon 客户端组件提供一系列完善的配置项如“连接超时&#xff0c;重试” 4…

交易效率不打打折扣,遵循昂首平台优化策略

再忽视市场波动和货币对的流动性&#xff0c;投资者的交易效率将大打折扣。在外汇市场中&#xff0c;昂首平台的外汇趋势顾问提供了宝贵的交易策略&#xff0c;但若不遵循市场的基本规律&#xff0c;即使是最精明的顾问也难以保证交易的成功。 首先&#xff0c;交易者应在市场波…