文档: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/
Index (索引)
作为动词,相当于 MySQL 中的 insert
作为名词,相当于 MySQL 中的 Database
Type (类型)
在 Index (索引) 中,可以定义一个或多个类型。
类似于 MySQL 中的 Table,每一种类型的数据放在一起。
Document (文档)
保存在某个索引 (Index) 下,某种类型 (Type) 的一个数据 (Document) ,文档是JSON格式的,Document 就像是 MySQL 中的某个 Table 里面的内容。
倒排索引机制
1、下载镜像文件
docker pull elasticsearch:7.4.2
存储和检索数据
docker pull kibana:7.4.2
可视化检索数据
2、创建实例
ElasticSearch
mkdir -p /mydata/elasticsearch/config
mkdir -p /mydata/elasticsearch/data
echo "http.host: 0.0.0.0" >> /mydata/elasticsearch/config/elasticsearch.yml
chmod -R 777 /mydata/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
free -m 可以查看虚拟机内存
docker logs 查看日志
docker ps -a 查看所有容器
docker ps 查看正在运行的容器
docker start 容器ID 开启容器
关于 docker run 与 docker start :
docker run相当于执行了两步操作:将镜像放入容器中 (docker create),然后将容器启动,使之变成运行时容器(docker start)。
docker start 的作用是:重新启动已存在的镜像。也就是说,如果使用这个命令,我们必须事先知道这个容器的ID,或者这个容器的名字,我们可以使用docker ps -a找到这个容器的信息。
以后再外面装好插件重启即可;
特别注意:
-e ES_JAVA_OPTS=“-Xms64m -Xmx256m” \ 测试环境下,设置 ES 的初始内存和最大内存,否则导致过大启动不了 ES
Kibana
docker run --name kibana -e ELASTICSEARCH_HOSTS=http://192.168.38.130:9200 -p 5601:5601 \
-d kibana:7.4.2
http://192.168.38.130:9200
一定改为自己虚拟机的地址
浏览器访问虚拟机的 9200 端口,出现下面界面则访问成功
或者 postman
访问 Kibana 出现此界面则访问成功