首先给出自己使用版本的网盘链接:自己的版本7.17.14
链接:https://pan.baidu.com/s/1FSlI9jNf1KRP-OmZlCkEZw
提取码:1234
一般情况下 Elastic Search(ES) 并不单独使用,例如主流的技术组合 ELK(Elasticsearch + Logstash + Kibana )
下载之前,先看下和 JDK 版本的对应关系,版本对应链接为:版本支持对应表
进入下载页面:Download Elasticsearch 这里本人下载的是7.17.14版本,支持 JDK8、JDK17。注意: 如果Elastic Search 版本选择了7.17.14,则后续的 IK分词器 和 Kibana 版本也要对应。
① jvm.options 可以配置 jvm 运行参数,如果服务器过小,对应的需要下调参数。版本不同,默认的 jvm 参数有所不同。
② elasticsearch.yml 配置文件中可进行端口是否允许外部访问等设置。其中:
path.data
:指定数据存储位置path.logs
:指定日志存储位置http.port
:指定运行端口 (默认端口9200)需要注意的是,在 Elasticserach 8 版本开始,项目首次启动后,配置文件会自动出现关于 ssl 相关的配置,如果是本地开发使用,没有 ssl 相关配置的情况下,需要将配置 xpack.security.enabled
的值修改为 false,否则服务启动后,无法访问。
启动: 配置完成后,双击 bin 目录下的 elasticsearch.bat 即可启动。
启动后,控制台乱码:
找到 config 下的 jvm.options 文件,添加内容:-Dfile.encoding=GBK
:
然后重新启动即可。
ES 全文检索:默认分词器为 StandardAnalyzer,对中文的分词效果可能并不理想。我们这里还需使用 IKAnalyzer 分词器
分词器作用是把一段中文或者别的划分成一个个的关键字或词,我们在搜索时候会把自己的信息进行分词,会把数据库中或者索引库中的数据进行分词,然后进行一个匹配操作,默认的中文分词是将每个字看成一个词,比如“我爱中国"会被分为"我"“爱”“中”"国”,这显然是不符合要求的,所以我们需要安装 中文分词器IK 来解决这个问题。
1、下载地址:github下载链接 下载对应的版本。
2、下载后解压到 Elastic Search解压目录下的 plugins 文件夹下,需要注意的是:解压后如果没有父级目录,则需要在 plugins 下先创建一个父级目录,用于存放 ik 分词器的解压文件:
3、重新启动 Elastic Search,查看 ik分词器是否安装成功:
Elasticsearch-head 是一款专门针对于 Elasticsearch 的客户端工具,Elasticsearch-head是一个基于 node.js 的前端工程。前提:需要安装 nodejs。
Elasticsearch-head 是用于监控 Elasticsearch 状态的客户端插件,包括数据可视化、执行增删改查操作等。
1、下载 head 插件:Github 下载链接 然后解压:
2、进入目录输入:npm install
,然后接着输入:npm run start
3、浏览器访问:http://localhost:9100 显示未来连接
解决: 因为没有配置跨域问题。还有一个就是你压根就没开 Elastic Search服务。解决跨域问题如下:修改 Elastic Search 文件的 config 目录下的 elasticsearch.yml 配置文件:
#开启跨域支持
http.cors.enabled: true
#允许所有人跨域访问
http.cors.allow-origin: "*"
重新启动 Elastic Search,再次请求 http://localhost:9100 解决跨域。
1、Kibana
是一个针对Elasticsearch
的开源分析及可视化平台,用来搜索、查看交互存储在Elasticsearch索引
中的数据。用Kibana
,可以通过各种图表进行高级数据分析展示。
2、下载地址:Download Kibana(不直接点链接的话,就一步步按照下面操作来) 同样,版本需要对应起来。
3、bin文件夹下的 kibana.bat
为启动文件,双击即可启动。访问地址为:http://localhost:5601
等待一段时间后,看到下图样式代表成功:
4、浏览器访问时发现页面是英文,这里可以选择安装汉化插件。
1、使用 Kibana 进行数据的增、删、改、查,打开 Kibana 控制台输入要执行的语句即可,如下所示。
PUT /account/type/1
{
"name": "张三",
"age": 20
}
① 回到 Elasticsearch Head 可以查看数据已经添加成功,如下图所示:
② 也可以在 Kibana 中查询数据,如下所示:
POST /account/type/_search
PUT /account/type/1
{
"name":"李四",
"age":"30"
}
DELETE /account/type/1