Elasticsearch简介
- 一个分布式的(多台服务器集群部署)、Restful风格(设计风格,前后端交互的风格,请求标准的描述)的搜索引擎。
- 支持对各种类型的数据的检索。
- 搜索速度快,可以提供实时的搜索服务。
- 便于水平扩展,每秒可以处理PB级海量数据。
- Elasticsearch术语
-
索引(理解为库)、类型(理解为表)、文档(一条记录,通常采用JSON结构)、字段(一列)。(但在ES6.0后,关系要发生变化,想废除类型的概念,所以从6.0以后,索引定义为表,)
-
集群(多台ES服务器)、节点(集群中的每一台服务器叫做节点)、分片(一个索引中的数据可能会非常多,对索引的进一步划分,并发能力提高)、副本(对分片的备份,提高系统犯人可用性)。
-
可以看成是特殊的数据库,因为搜索的字段会先存储到ES中。
https://www.elastic.co
ES安装
- 进入官网: https://www.elastic.co
- ES下载时,最好用和spring 内部一致的版本号(6.4.3)
**注意要下载与spring内部版本对应一致的6.4.3,匹配,**因为es6,7的变化较大
(直接解压缩即可)
注意,不同的时期,下载的页面可能不同,找到对应的版本,下载安装即可。
(具体的版本还需要查资料验证,因为今年(2022)版本已经到了8.5.3,spring boot同样也在升级)
ES配置
- 找到elasticsearch.yml
2. 配置环境变量
将路径D:\applications\ElasticSearch\elasticsearch-6.4.3\elasticsearch-6.4.3\bin配到Path
- 装中文分词的插件(ES默认英文分词)
第三方插件在Github里找:(还未操作,网站打不开)
解压文件,必须解压到ElasticSearch特定的文件下
在ik里面找对应的文件,当前分词词典不够用时,可以自己设置;也可以设置停用词等等
4. 下载Postman
https://www.getpostman.com
最简单的安装方式,下载即可。注册好账号就能登录。
使用elasticsearch
通过控制台访问
-
双击文件
-
启动9200端口
-
查看ES集群的健康状况
curl -X GET "localhost:9200/_cat/health?v"
v表示将标题显示出来 -
查看集群中有多少节点
curl -X GET GET “localhost:9200/_cat/nodes?v”`
一条数据,单个节点 -
查看索引
curl -X GET “localhost:9200/_cat/indices?v”`
显示没有索引
创建索引:curl -X PUT "localhost:9200/test"
查看索引:curl -X GET "localhost:9200/_cat/dices?v"
索引的健康状态为yellow时,表示该索引没有被备份。
删除索引:curl -X DELETE "localhost:9200/test"
通过Postman访问ES(方便,快捷)
插入数据(一个文档(记录)),指定了索引名字时,会自动创建索引
put 请求,_doc是占位,6.0以后不用管(废弃了类型);指定数据的id
查看插入的数据
localhost:9200/test/_doc/1
删除数据
构建数据使用
搜索信息(没有条件)
注意分词的存在
当多个字段同时匹配时:通过请求提交