【大型电商项目开发】ElasticSearch的简介和安装 -31

导读:本篇文章讲解 【大型电商项目开发】ElasticSearch的简介和安装 -31,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

一:简介

https://www.elastic.co/cn/what-is/elasticsearch 

全文搜索属于最常见的需求,开源的 Elasticsearch 是目前全文搜索引擎的首选。 它可以快速地储存、搜索和分析海量数据。维基百科、Stack Overflow、Github 都采用它 Elastic 的底层是开源库 Lucene。但是,你没法直接用 Lucene,必须自己写代码去调用它的 接口。Elastic 是 Lucene 的封装,提供了 REST API 的操作接口,开箱即用。 REST API:天然的跨平台。

  • 官方文档:
https://www.elastic.co/guide/en/elasticsearch/reference/current/index.html 
  • 官方中文:
https://www.elastic.co/guide/cn/elasticsearch/guide/current/foreword_id.html 
  • 社区中文:
https://es.xiaoleilu.com/index.html 
http://doc.codingdict.com/elasticsearch/0/

注:Elasticsearch的中文文档版本较老,如果想学好Elasticsearch,推荐看英文文档

二:基本概念

在这里插入图片描述

1.Index(索引)—— 相当于mysql中的数据库

动词,相当于 MySQL 中的 insert;
名词,相当于 MySQL 中的 Database

2.Type(类型)—— 相当于mysql中的数据表

在 Index(索引)中,可以定义一个或多个类型。 类似于 MySQL 中的 Table;每一种类型的数据放在一起;

3.Document(文档)—— 相当于mysql中的数据

保存在某个索引(Index)下,某种类型(Type)的一个数据(Document),文档是 JSON 格 式的,Document 就像是 MySQL 中的某个 Table 里面的内容;

4.倒排索引机制

倒排索引:从关键字搜索文档(关键字->文档)。优点:搜索耗时短。缺点:不易维护。
![在这里插入图片描述](https://img-blog.csdnimg.cn/61d78f4abdae450ab81bb113139a74cb.png
那些单词在那些表中有,会标记出来。便于快速查找

三:Docker安装ES

1、下载镜像文件

docker pull elasticsearch:7.4.2 存储和检索数据
在这里插入图片描述
docker pull kibana:7.4.2 可视化检索数据
在这里插入图片描述

free -m    #查看服务器还有多大内存

在这里插入图片描述

2、创建实例

1)ElasticSearch
1.创建文件

mkdir -p /mydata/elasticsearch/config
mkdir -p /mydata/elasticsearch/data

2.给文件写入值

echo "http.host: 0.0.0.0" >> /mydata/elasticsearch/config/elasticsearch.yml

在这里插入图片描述
3.进入到elasticsearch.yml文件

cat elasticsearch.yml

在这里插入图片描述
4.启动elasticsearch容器

docker run --name elasticsearch -p 9200:9200 -p 9300:9300 \ 
-e "discovery.type=single-node" \
-e ES_JAVA_OPTS="-Xms64m -Xmx512m" \ 
-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
  • -p 9200:9200是发送http请求,也就是restAPI的时候暴露的端口
  • -p 9300:9300是elasticsearch在分布式集群状态下节点的通信端口
  • -e “discovery.type=single-node”以单节点运行
  • -e ES_JAVA_OPTS=”-Xms64m -Xmx512m”为elasticsearch指定内存,初始64m,最大128m
  • -v文件挂载,将文件信息挂载到指定文件夹
  • -d后台启动下载好的es
    以后再外面装好插件重启即可;
    在这里插入图片描述
    特别注意:
    -e ES_JAVA_OPTS=“-Xms64m -Xmx256m” \ 测试环境下,设置 ES 的初始内存和最大内存,否则导 致过大启动不了 ES
docker start elasticsearch  #启动elasticsearch容器

5.elasticsearch启动失败解决方案,修改权限

docker logs elasticsearch  #查看启动日志

在这里插入图片描述
1.在elasticsearch目录下输入ll,查看权限
在这里插入图片描述
2.此时我们将所有的权限改为,既可以读,又能写,又可以执行

chmod -R 777 /mydata/elasticsearch/   ##保证权限

在这里插入图片描述
127.0.0.1:9200此时就修改过来了,该文件下都有读写权限了。
在这里插入图片描述
elasticsearch安装完成

2)Kibana
Kibana是一款可视化工具,相当于mysql的navicat和SQLyog。
docker run --name kibana -e ELASTICSEARCH_HOSTS=http://192.168.56.10:9200 -p 5601:5601 -d kibana:7.4.2

  • 5601就是Kibana的访问端口,访问服务器的5601就可以访问到Kibana工具
  • http://192.168.56.10:9200 一定改为自己虚拟机的地址
    在这里插入图片描述
    kibana启动成功

四:docker设置容器开机自启

1.elasticsearch

docker update elasticsearch --restart=always

2.kibana

docker update kibana --restart=always

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/84118.html

(0)
小半的头像小半

相关推荐

极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!