ElasticSearch是什么?ElasticSearch在SpringBoot中怎么用?SpringBoot整合ElasticSearch

news2024/11/22 21:01:50

写在前面
继续记录自己的SpringBoot学习之旅,这次是SpringBoot应用相关知识学习记录。若看不懂则建议先看前几篇博客,详细代码可在我的Gitee仓库SpringBoot克隆下载学习使用!

3.4.3.4 ElasticSearch(ES)

3.4.3.4.1 介绍
  • 是一个分布式全文搜索引擎
  • 主要应用于需要搜索的功能里,比如商城
  • 关键是倒排索引,根据关键词找到对应索引,再根据索引找到具体的数据
3.4.3.4.2 安装
  • 点击下载,选择对应版本即可,这里是7.16.2
  • 下载解压后点击elasticsearch.bat即可启动服务,如图![[Pasted image 20220831113450.png]]
  • 在浏览器输入地址localhost:9200,出现如图即可成功![[Pasted image 20220831113528.png]]
3.4.3.4.3 操作
  • 使用软件:postman或者Apifox
  • 使用插件:IK分词器,点击下载解压后放在之前下好的ES中的插件目录plugins中
  • 创建索引。添加put请求并指定分词规则,如图![[Pasted image 20220831150028.png]]
    ,分词规则如下:
{
    "mappings": {
        "properties": {
            "id": {
                "type": "keyword"
            },
            "name": {
                "type": "text",
                "analyzer": "ik_max_word",
                "copy_to": "all"
            },
            "password": {
                "type": "text",
                "analyzer": "ik_max_word",
                "copy_to": "all"
            },
            "age": {
                "type": "keyword"
            },
            "all": {
                "type":"text",
                "analyzer":"ik_max_word"
            }
        }
    }
}
  • 删除索引,同上,使用DELETE请求
  • 查询索引,同上,使用GET请求,如图![[Pasted image 20220831150227.png]]
  • 添加文档(数据),同上,使用POST请求,如图在这里插入图片描述
  • 其中有3种方式:
    • xxx/_ doc:id为默认
    • xxx/ _ doc/2:指定id为2_
    • xxx/_ create/3:指定id为3
  • 查询文档全部数据,使用GET,如图![[Pasted image 20220831153523.png]]
    ,查询单个则是xxx/ _ doc/id格式
  • 删除文档数据,同上,用DELETE请求,如图![[Pasted image 20220831154314.png]]
  • 修改文档数据类似添加,主要有两种:
    • 全量修改,直接覆盖掉原有的,如图![[Pasted image 20220831154914.png]]
    • 部分修改,仅仅修改需要修改部分,如图![[Pasted image 20220831162633.png]]
3.4.3.4.4 SpringBoot整合
  • 新建项目
  • 添加ES高版本坐标,如图![[Pasted image 20220831174627.png]]
  • 无需配置
  • 客户端操作
    • 创建索引
private RestHighLevelClient client;
 @Test  
    void createIndex() throws IOException {  
        HttpHost host = HttpHost.create("http://localhost:9200");;  
        RestClientBuilder builder = RestClient.builder(host);  
        client = new RestHighLevelClient(builder);  
//        客户端操作  
        CreateIndexRequest request = new CreateIndexRequest("users");  
        client.indices().create(request, RequestOptions.DEFAULT);  
//        关闭客户端  
        client.close();  
    }
  • 添加文档
//    创建文档  
    @Test  
    public void addESDoc() throws IOException {  
        IndexRequest indexRequest = new IndexRequest("users").id("1");  
        String json = "{\n" +  
                "    \"name\": \"大家\",\n" +  
                "    \"password\": \"早上好大家\",\n" +  
                "    \"age\": 23\n" +  
                "}";  
        indexRequest.source(json,XContentType.JSON);  
        client.index(indexRequest,RequestOptions.DEFAULT);  
    }

其它具体详见Gitee上的项目

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/20657.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

MySQL JDBC编程

✏️作者:银河罐头 📋系列专栏:MySQL 🌲“种一棵树最好的时间是十年前,其次是现在” 文章目录前置知识APIJDBC的使用安装数据库代码插入操作查找操作前置知识 API API(Application Program Interface)被定义为应用程…

金属纳米颗粒图像分割和计数

代码下载链接,直接上程序运行的效果: 为了便于大家学习,把原图也都贴上了:

乐趣国学—品读《弟子规》中的“亲仁”之道

文章目录亲仁同是人 类不齐 流俗众 仁者希果仁者 人多畏 言不讳 色不媚能亲仁 无限好 德日进 过日少不亲仁 无限害 小人进 百事坏亲仁 “亲仁”,亲是亲近、学习的意思,亲近那些有道德、有学问、有人生境界、有情操的人,这是讲择师。一个人的学…

【Redis】配置项与发布订阅

一、配置项 redis相关配置项都存放在redis.conf文件中,暂时只列举常见的几个,其余的工作中用到再回来更新 1、网络 bind:指定redis只能接受来自此IP绑定的网卡的请求,注意此默认值默认外网是不可访问的,如果想要开启…

Unity3D制作塔防类游戏

演示 功能简介 制作细节详解 演示 资源包:链接:https://pan.baidu.com/s/15MMtYeKkNk5xChvCx0EckQ?pwdd1ub 提取码:d1ub 对应视频教学:01-开始介绍和创建工程_哔哩哔哩_bilibili 功能简介 分为蓝,紫,粉,红四…

[iOS]UI分析工具Reveal

Reveal是ITTY BITTY发布的UI分析工具,可以很直观的查看App的UI布局。 去官网下载安装Reveal,启动后样式如下。 下面介绍一下如何在非越狱设备和越狱设备上用Reveal工具分析UI 一、非越狱设备用Reveal分析UI 1.安装MonkeyDev 安装流程可查看前文[iOS]…

2. Java线程模型

1. 操作系统线程 无论使用何种编程语言编写多线程程序,最终都是通过调用操作系统的线程来执行任务。线程是CPU调度的最小执行单元。 线程有多种实现方式,常见的有:内核线程、用户线程、混合线程。 不同线程模型的主要区别在于线程的调度方不…

bat脚本启动Java服务

bat脚本启动Java服务1.终端cmd窗口运行jar2. bat脚本启动jar包3.后台启动bat脚本4. 运行bat只启动一次jar服务及停止脚本5.注意事项6.所用资源1.终端cmd窗口运行jar Java项目一般会被打包成jar后启动,在windows系统中可以通过终端窗口cmd启动jar包,即在…

5G无线技术基础自学系列 | 移动通信网络的架构

素材来源:《5G无线网络规划与优化》 一边学习一边整理内容,并与大家分享,侵权即删,谢谢支持! 附上汇总贴:5G无线技术基础自学系列 | 汇总_COCOgsta的博客-CSDN博客 第五代(5thGeneraton, 5G) …

计算机中的第一个伟大发明(IR/IAR)

计算机工具的普及极大的推动了科技领域的发展以及提高人们生活的便捷性,那么在其中有哪些举足轻重的发明呢?本节我们来了解一下计算机中第一个伟大的发明:指令寄存器和指令地址寄存器 回顾在步进器加持下的两数两加 前面提到两个数相加的执行…

PyCharm运行PyQT6 (四) 百篇文章学PyQT

本文章是百篇文章学PyQT的第四篇,本文讲述如何使用PyCharm成功运行PyQT6,PyCharm在配置过程中会遇到很多问题,博主在本篇文章中将遇到和踩过的坑总结出来,可以供大家参考,希望大家安装顺利。包括 安装、遇到问题的解决…

Intel芯片、AMD显卡有多强?M1系列呢?

我们知道英特尔是半导体行业和计算创新领域的全球领先厂商 ,创始于1968年。如今,英特尔正转型为一家以数据为中心的公司 。英特尔与合作伙伴一起,推动人工智能、5G、智能边缘等转折性技术的创新和应用突破 ,驱动智能互联世界。…

【由浅入深 - Java笔记】玩转List:List过滤和筛选

文章目录List过滤:Comparator、Comparable 和 Stream1. 使用list的Stream进行筛选2. 增强for循环遍历元素,进行筛选3. 使用list.foreach遍历4. 使用iterator遍历5. 视频笔记List过滤:Comparator、Comparable 和 Stream 花时间精力去凿许多浅井…

5G无线技术基础自学系列 | 移动通信网络的演进

素材来源:《5G无线网络规划与优化》 一边学习一边整理内容,并与大家分享,侵权即删,谢谢支持! 附上汇总贴:5G无线技术基础自学系列 | 汇总_COCOgsta的博客-CSDN博客 随着移动用户数量的不断增加&#xff0…

mac系统安装搭载Windows系统虚拟机方法教程

我们都知道macOS系统虽然相对windows系统而言更稳定,但macOS系统中可使用的软件数量较windows系统而言要少很多。对于macOS系统应用少的问题,我们可以使用虚拟机来解决。那么,苹果虚拟机好用吗?整体而言是可以的。苹果虚拟机怎么装…

0-搭建nodejs环境

1) 安装 nvm nvm 即 (node version manager),好处是方便切换 node.js 版本 安装注意事项 要卸载掉现有的 nodejs提示选择 nvm 和 nodejs 目录时,一定要避免目录中出现空格选用【以管理员身份运行】cmd 程序来执行 nvm 命令首次运行前设置好国内镜像地…

小马哥的CSS驿站

目录 第一章 CSS概述 1.1语法 1.2注释 1.3CSS的创建 第二章 CSS选择器 1.id选择器 2.class选择器 3.标签选择器 4.子代选择器 5.后代选择器 6.相邻兄弟选择器 7.后续兄弟选择器 8.交集选择器 9.并集选择器 第三章 CSS样式 1.文本与文字样式 (1&…

G2O学习 - 曲线拟合实例

学习使用G2O进行曲线拟合使用 1. 拟合目的,如何建立拟合的图模型 大概就是曲线拟合,求曲线 y ax^2 bx c 中 abc 的值。 但是我一直不明白如何获得下面图的。 我觉得应该是这样的 首先把abc视为一个变量,这个变量应该是一个矩阵【这里还…

Python和Pycharm安装教程

一、Python安装 1.进入官网下载Python 官网地址:Download Python | Python.org 官网下载可能会有些慢,请耐心等待 我这里把3.11的安装包和后面的Pycharm安装包都放到网盘里面了 链接:https://pan.baidu.com/s/1spxNUbH4trWBox1SJeBjkQ?pwdh…

Linux CentOS 系统安装

VMware 下载地址 Ctrl F 搜索【下载试用版】VMware 下载地址 Ctrl F 搜索【DOWNLOAD NOW】VMware-workstation-full-16.2.4-20089737.exe 文件下载地址CentOS 下载地址 Ubuntu 下载地址 阿里巴巴开源镜像站-OPSX镜像站 1、下载安装VMware虚拟机 2、下载Linux系统镜像&…