0


微服务Ⅳ ElasticSerach

目录

ES简介

是一个开源的分布式搜索引擎,可以用来实现搜索、日志统计、分析、系统监控

  • 易扩展
  • 高性能(倒排索引)
  • 支持分布式,可水平扩展
  • 提供Restful接口,可被任何语言调用

ELK:ES的核心技术栈

Lucene:搜索引擎类库,提供搜索引擎的核心API
在这里插入图片描述

倒排索引

正向索引:基于文档id创建索引,查询时先找文档判断是否包含词条;

模糊查询,需要逐个扫描,最终返回结果集
在这里插入图片描述
倒排索引

先对内容分词,对词条创建索引,并记录含有该词条的文档id;查询时先根据词条查询文档id,然后返回文档;还可以根据匹配程度排序
在这里插入图片描述

ES是面向文档存储的,文档数据会被序列化为Json格式存储
在这里插入图片描述

  • 索引:相同类型的文档的集合
  • 映射:索引中文档的字段约束信息,类似表的结构约束在这里插入图片描述

MySQL与ES

结构对比
在这里插入图片描述
各司其职
在这里插入图片描述

搭建

安装ES

  1. 因为我们还需要部署 kibana 容器,需要让 es 和 kibana 容器互联。这里先创建一个网络:docker network create es-net
  2. 安装ESdocker run -d \--name es \-e "ES_JAVA_OPTS=-Xms512m -Xmx512m" \-e "discovery.type=single-node" \-v es-data:/usr/share/elasticsearch/data \-v es-plugins:/usr/share/elasticsearch/plugins \--privileged \--network es-net \-p 9200:9200 \-p 9300:9300 \elasticsearch:7.12.1

命令解释:

  • -e “cluster.name=es-docker-cluster”:设置集群名称
  • -e “http.host=0.0.0.0”:监听的地址,可以外网访问
  • -e “ES_JAVA_OPTS=-Xms512m -Xmx512m”:内存大小
  • -e “discovery.type=single-node”:非集群模式
  • -v es-data:/usr/share/elasticsearch/data:挂载逻辑卷,绑定es的数据目录
  • -v es-logs:/usr/share/elasticsearch/logs:挂载逻辑卷,绑定es的日志目录
  • -v es-plugins:/usr/share/elasticsearch/plugins:挂载逻辑卷,绑定es的插件目录
  • –privileged:授予逻辑卷访问权
  • –network es-net :加入一个名为 es-net 的网络中
  • -p 9200:9200:端口映射配置

访问地址:

http://192.168.32.129:9200

即可看到 elasticsearch 的响应结果

安装kibana

kibana 可以给我们提供一个 elasticsearch 的可视化界面,便于我们学习命令

docker run -d \
--name kibana \
-e ELASTICSEARCH_HOSTS=http://es:9200 \
--network=es-net \
-p 5601:5601  \
kibana:7.12.1
  • –network es-net :加入一个名为 es-net 的网络中,与 elasticsearch 在同一个网络中
  • -e ELASTICSEARCH_HOSTS=http://es:9200":设置 elasticsearch 的地址,因为 kibana 已经与 elasticsearch 在一个网络,因此可以用容器名直接访问 elasticsearch
  • -p 5601:5601:端口映射配置

控制面板:

http://192.168.32.129:5601/app/dev_tools#/console

安装IK分词器

由于国内访问 GitHub 较慢,我们选择离线模式安装。

安装插件需要知道 elasticsearch 的 plugins 目录位置,而我们用了数据卷挂载,因此需要查看 elasticsearch 的数据卷目录,通过下面命令查看

docker volume inspect es-plugins

未完待续


本文转载自: https://blog.csdn.net/qq_52163230/article/details/123973455
版权归原作者 \Qinsiyang 所有, 如有侵权,请联系我们删除。

“微服务Ⅳ ElasticSerach”的评论:

还没有评论