25.ElasticSearch的介绍和安装

简介

Elastic是Lucene的封装,提供了REST API的操作接口。

基本概念

Index(索引)

动词:相当于MySql中的insert

名词:相当于Mysql中的Database

Type(类型)-在7.0后被去除

再Index(索引)中可以定义一个或多个类型

相当于MySql的Table,每一种类型的数据放在一起

Document(文档)

保存在某个Index(索引)下的某个Type(类型)的一条数据(Docment),文档是JSON格式的

一个Docment(文档)相当于MySql的Table的一行数据

倒排索引

这就是为什么ElasticSearch检索起来比较快的原因:存了Docment(文档)的分词

下面举个例子:

比如我们要存储5条“文档”:1-红海行动,2-探索红海行动,3-红海特别行动,4-红海记录篇,5-特工红海特别探索

这5条“文档”存入到“类型”时会拆分单词存储为倒排索引:

 比如我们要检索“红海特别行动”时,会根据分词“红海”,“特别”,“行动”,检索到1,2,3,4,5这5个“文档”,但是检索到的这5个“文档”会根据相关性得分排序:

5的相关性得分是3,2的相关性得分是2,3的相关性得分是2,1的相关性得分是1,4的相关性得分是1

安装

下载镜像文件

docker pull elasticsearch:7.4.2      存储和检索数据
docker pull kibana:7.4.2             可视化检索数据

下载后可以查询看下:

安装elasticsearch

mkdir -p /mydata/elasticsearch/config                    创建虚拟机的文件夹用来挂载docker容器里的elasticsearch的配置文件
mkdir -p /mydata/elasticsearch/data                      创建虚拟机的文件夹用来挂载docker容器里的elasticsearch的数据
echo "http.host: 0.0.0.0" >> /mydata/elasticsearch/config/elasticsearch.yml     给左侧配置写入到右侧路径文件,这个配置表示elasticsearch允许被任意IP访问

可以查一下我们写的配置:

安装命令:

docker run --name elasticsearch -p 9200:9200 -p 9300:9300 \
-e "discovery.type=single-node" \
-e ES_JAVA_OPTS="-Xms64m -Xmx128m" \
-v /mydata/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml \
-v /mydata/elasticsearch/data:/usr/share/elasticsearch/data \
-v /mydata/elasticsearch/plugins:/usr/share/elasticsearch/plugins \
-d elasticsearch:7.4.2

 这就安装好了:

 解释一下上面的安装命令:

 安装后查一下:

然后我们访问http://192.168.237.100:9200/看一下,发现打不开,我们在输入docker ps查一下:

 说明elasticsearch还是有点问题,我们查一下日志,docker logs 45c:(45c是CONTAINER ID的前缀)

 发现是这个目录的权限问题:

 可以看到root用户是有权限的,但是我们访问http://192.168.237.100:9200/肯定不可能是root用户,所以我们给所有用户设置/mydata/elasticsearch的权限: chmod -R 777 /mydata/elasticsearch/ 

 

 再访问一下http://192.168.237.100:9200/就正常了:

 

安装kibana

docker run --name kibana -e ELASTICSEARCH_HOSTS=http://192.168.237.100:9200 -p 5601:5601 \
-d kibana:7.4.2

 docker ps:

 说明安装成功,我们访问一下(http://192.168.237.100:5601/)试试:

posted @ 2023-03-24 23:21  lucsa  阅读(26)  评论(0编辑  收藏  举报