ElasticSearch概述+SpringBoot 集成ES

ES概述

开源的、高扩展的、分布式全文检索引擎【站内搜索】

解决问题

1.搜索词是一个整体时,不能拆分(mysql整体连续)

2.效率会低,不会用到索引(mysql索引失效)

解决方式

进行数据的存储(只存储查询显示的内容)和检索

其他功能:日志统计、分析、监控。

ES名词解释

索引:同类型的文档集合

文档:以json形式,一条数据就是一个文档(mysql中的一行记录)

字段:json文档中的字段

映射:索引(表)中的文档(记录数据)约束:字段名称、类型,是否分词

正向索引:mysql

倒排索引:ElasticSearch使用倒排索引,对搜索内容进行分词,分出来的词成为词条,对词条进行分类统计,由高到低进行排序。

ES操作

索引操作

#创建索引库(PUT),查询索引库(GET),删除索引库(DELETE),添加新字段(PUT /news/_mapping)
PUT /news
{"mappings": {"properties": {"id":{"type": "integer","index": false},"title":{"type": "text","analyzer": "standard"},"content":{"type": "text","analyzer": "standard"}}}
}GET /news
DELETE /newsPUT /news/_mapping
{"properties": {"count":{"type": "long","index": false}}
}

文档操作

#文档操作
PUT /news/_doc/1
{"id":1,"title":"美丽中国","content":"当前,我国经济社会发展已进入加快绿色化、低碳化的高质量发展阶段,生态文明建设仍处于压力叠加、负重前行的关键期,生态环境保护结构性、根源性、趋势性压力尚未根本缓解,资源压力较大、环境容量有限、生态系统脆弱的国情没有改变,经济社会发展绿色转型内生动力不足,生态环境质量稳中向好的基础还不牢固,污染物和碳排放总量仍居高位,部分区域生态系统退化趋势尚未根本扭转,美丽中国建设任务依然艰巨。","count":20
}PUT /news/_doc/2
{"id":2,"title":"不忘初心","content":"当前,我国经济社会发展已进入加快绿色化、低碳化的高质量发展阶段,生态文明建设仍处于压力叠加、负重前行的关键期,生态环境保护结构性、根源性、趋势性压力尚未根本缓解。","count":10
}
GET /news/_doc/1
DELETE /news/_doc/1
POST /news/_update/1
{"doc":{"title":"中国"}
}GET /news/_search
{"query": {"match": {"content":"我国"}}
}

SpringBoot 集成 ES

指定版本,版本必须与安装的 ES 版本一致

<properties>
<java.version>1.8</java.version>
<elasticsearch.version>7.6.1</elasticsearch.version>
</properties>

添加依赖

<dependency>
<groupId>org.elasticsearch.client</groupId>
<artifactId>elasticsearch-rest-high-level-client</artifactId>
</dependency>
@RestController
@RequestMapping(path = "/index/elastic")
public class ElasticSearchController {@AutowiredRestHighLevelClient restHighLevelClient;@GetMapping(value = "/test")public String test() throws IOException {//创建索引库CreateIndexRequest request = new CreateIndexRequest("users");CreateIndexResponse createIndexResponse = restHighLevelClient.indices().create(request, RequestOptions.DEFAULT);//判断索引库是否存在//GetIndexRequest request1 = new GetIndexRequest("users");return "success!";}
}
RestHighLevelClient类
import org.apache.http.HttpHost;
import org.elasticsearch.client.RestClient;
import org.elasticsearch.client.RestHighLevelClient;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;@Configuration
public class ElasticSearchConfig {@Beanpublic RestHighLevelClient restHighLevelClient(){RestHighLevelClient client = new RestHighLevelClient(RestClient.builder(new HttpHost("localhost", 9200, "http")));return client;}}

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

javacv和opencv对图文视频编辑-裸眼3D图片制作

通过斗鸡眼&#xff0c;将左右两张相似的图片叠加到一起看&#xff0c;就会有3D效果。 3D图片&#xff0c;3D眼镜&#xff0c;3D视频等原理类似&#xff0c;都是通过两眼视觉差引起脑补产生3D效果。 图片&#xff1a; 图片来源&#xff1a; 一些我拍摄的真*裸眼3D照片 - 哔哩…

【C语言】详解编译和链接

1.翻译环境和运行环境 在ANSIC的任何一种实现中&#xff0c;存在两个不同的环境 第1种是翻译环境&#xff0c;在这个环境中源代码被转换为可执行的机器指令第2种是执行环境&#xff0c;它用于实际执行代码 2.翻译环境 翻译环境是怎么将源代码转换为可执行的机器指令的呢&…

使用AI自动生成PPT提高制作效率

使用AI自动生成PPT提高制作效率 在制作PPT方面&#xff0c;很多制作者都会轻易跳进一个怪圈&#xff1a;“我要制作一个关于关爱老人的PPT&#xff0c;该怎么做呢&#xff0c;有模板没有?”这个会涉及很多逻辑需要经过不断的思考&#xff0c;制作PPT要通过很多素材、使用技巧、…

VM安装群晖系统 挂载整个硬盘给群晖系统

前言 在我们日常业务需求中&#xff0c;经常需要把整个磁盘的空间分配给群晖使用&#xff0c;那么如何通过vm分配整个磁盘空间给群晖系统。 操作 需要用管理员运行VM虚拟机 然后添加硬盘 就可以有权限全部添加了。这样会清除要挂载的磁盘的全部的数据。

PLSQL 截取字符串中的数字

PLSQL 截取字符串中的数字 sql Select regexp_replace(20天前发现, [^0-9]) 截取数字 From dual;效果

网络爬虫丨基于scrapy+mysql爬取博客信息并保存到数据库中

文章目录 写在前面实验描述实验框架实验需求 实验内容1.安装依赖库2.创建Scrapy项目3.配置系统设置4.配置管道文件5.连接数据库6.分析要爬取的内容7.编写爬虫文件 运行结果写在后面 写在前面 本期内容&#xff1a;基于scrapymysql爬取博客信息并保存到数据库中 实验需求 ana…

科东软件再创新高,连续两年荣获“信优奖”

近日&#xff0c;广州市黄埔区信息行业协会公布了2023年度“信优奖”获奖单位名单&#xff0c;科东软件凭借健全的信用管理体系、良好的合同履约状况、良好的企业经营效益和品牌美誉度等多个优异的指标再次荣获“信优奖”。 “信优奖”的评选旨在促进企业在信用经济全面到来的…

GitHub图床搭建

1 准备Github账号 如果没有Github账号需要先在官网注册一个账号 2 创建仓库 在github上创建一个仓库&#xff0c;随便一个普通的仓库就行&#xff0c;选择公共仓库 并且配置github仓库的pages&#xff0c;选择默认访问的分支及默认路径 3 github token获取 github token创…

【SQL注入】SQLMAP v1.7.11.1 汉化版

下载链接 【SQL注入】SQLMAP v1.7.11.1 汉化版 简介 SQLMAP是一款开源的自动化SQL注入工具&#xff0c;用于扫描和利用Web应用程序中的SQL注入漏洞。它在安全测试领域被广泛应用&#xff0c;可用于检测和利用SQL注入漏洞&#xff0c;以验证应用程序的安全性。 SQL注入是一种…

【LangChain学习之旅】—(6) 提示工程(下):用思维链和思维树提升模型思考质量

【LangChain学习之旅】—&#xff08;6&#xff09; 提示工程&#xff08;下&#xff09;&#xff1a;用思维链和思维树提升模型思考质量 什么是 Chain of ThoughtFew-Shot CoTZero-Shot CoTChain of Thought 实战CoT 的模板设计程序的完整框架Tree of Thought总结 Reference&a…

spring基于XML方式的组件管理

基本介绍 依赖注入是一种处理对象间依赖关系的技术。在Spring中&#xff0c;依赖注入有构造方法注入和设值注入两种方式。 设值注入是将依赖作为成员变量&#xff0c;通过主调类的setter方法注入依赖。构造方法注入则是在Bean的构造方法中注入依赖。 本次我们将通过具体例子来…

(一)ROS的安装

&#xff08;一&#xff09;安装ubuntu18.04 系统&#xff08;虚拟机或者是物理机&#xff0c;在此不再介绍&#xff09; &#xff08;二&#xff09;添加ROS镜像源 apt 列表中没有ROS源&#xff0c;所以要手动添加 sudo sh -c . /etc/lsb-release && echo "deb…