ElasticSearch是什么
lasticsearch (简称ES)是一个分布式、高扩展、高实时的、RESTful 风格的搜索与数据分析引擎。它能很方便的使大量数据具有搜索、分析和探索的能力。充分利用Elasticsearch的水平伸缩性,能使数据在生产环境变得更有价值。Elasticsearch 的实现原理主要分为以下几个步骤,首先用户将数据提交到Elasticsearch 数据库中,再通过分词控制器去将对应的语句分词,将其权重和分词结果一并存入数据,当用户搜索数据时候,再根据权重将结果排名,打分,再将返回结果呈现给用户。
Elasticsearch是面向文档型数据库,一条数据在这里就是一个文档,用JSON作为文档序列化的格式,比如下面这条用户数据:
{
"name" : "John",
"sex" : "Male",
"age" : 25,
"birthDate": "1990/05/01",
"about" : "I love to go rock climbing",
"interests": [ "sports", "music" ]
}
下载安装
Nacos安装
下载链接:https://www.elastic.co/cn/downloads/past-releases#elasticsearch
下载时要注意ES和JDK对应版本:
ES 7.x 及之前版本,选择 Java 8
ES 8.x 及之后版本,选择 Java 17 或者 Java 18,建议 Java 17,因为对应版本的 Logstash 不支持 Java 18
Java 9、Java 10、Java 12 和 Java 13 均为短期版本,不推荐使用
M1(Arm) 系列 Mac 用户建议选择 ES 7.8.x 以上版本,因为考虑到 ELK 不同产品自身兼容性,7.8.x以上版本原生支持 Arm 原生 JDK
空间不足时会导致闪退,可以修改config/jvm.options文件中的 -Xmx512m 和 -Xms512m 来设置JVM最大可用内存为512M。
IK分词器安装
下载时要和 Nacos 版本一致,这里采用的是7.17.7版本。链接https://github.com/medcl/elasticsearch-analysis-ik/releases/tag/v7.17.7
安装结束后可启动ES,访问 http://localhost:9200/ 查看启动结果
kibana安装
elasticsearch服务是一个restful风格的http服务。我们可以采用postman作为客户端来进行操作,elastic stack官方也给我们提供了kibana来进行客户端操作,这个相比postman要友好一点,因为里面有些自动补全的代码提示。
下载链接:https://www.elastic.co/cn/downloads/past-releases/kibana-7-17-4
安装成功后需要修改config/kibana.yml文件中的三处地方:
- 将 server.port:5601 出的注释去掉
- 将 elasticsearch.hosts:[“http://localhost:9200”] 出的注释去掉
- 将最后一行 i18n.locale:“en” 改为 i18n.locale:“zh-CN”
修改结束后启动,访问 http://127.0.0.1:5601 查看效果。