Es
ElasticSearch总所周知是目前各大公司使用的搜素中间件。下面对于ElasticSearch统一使用Es进行替代。
安装
homebrew安装
如果你已经安装过Homebrew了,那么你可以跳过这一步,直接进行Elasticsearch安装步骤;
Homebrew是一款MacOS平台下的软件包管理工具,拥有安装、卸载、更新、查看、搜索等很多实用的功能,强烈推荐安装。
请复制如下指令到命令行粘贴执行:
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)”
对于homebrew常用的命令可以参考homeBrew常用命令
Es安装
执行命令:brew install elasticsearch
安装成功后显示
安装成功后使用命令 启动Es服务
brew servicEs start elasticsearch
通过浏览器 输入localhost:9200 查看Es是否启动成功,以下为成功的截图
若没有显示 使用brew servicEs list查看服务是否启动 或者 使用jps 命令查看服务
使用brew info elasticsearch 查看当前Es 安装目录 进入目录中查看启动日志
Es插件安装
使用科学上网进入谷歌应用商店 下载ElasticSearch Head 插件
登陆成功后点击插件进入初始页面
可以获取到信息:head插件连接Es 9200端口 集群的名字为elasticsearch_coapeng 目前的集群状态为green
或者可以使用postman进行集群状态查询
Es名词介绍
Es中有一些达成共识的术语 ,需要进行介绍。 Es是分布式搜索分析引擎,其相对于传统的RDS,突出优势在于对于存储内容采用分析器进行拆解建立倒排索引 实现快速搜索。
Es虽然是搜索分析引擎但是底层仍然是一个存储系统,通过类比RDS的方式可以快速建立起一个概念。
索引:(名词)类似于数据库
文档:类似于数据库中一张表
分片:类似于水平分库分表,将一张表的数据进行拆分保存在多个存储节点(node)中
主分片:数据保存的节点
副分片:主分片的副本,当主分片节点宕机时 成为主分片
分词器:每一列的数据按照一定规则拆分为一个个词组
正排索引:RDS保存的数据形式
![image-20210426220121555](/Users/coapeng/Library/Application Support/typora-user-images/image-20210426220121555.png)
倒排索引:将特定列数据使用分词器分割,分割出来的词组可以作为关键字来查找到对应id(即上一张图中的id 为1)
![image-20210427102637647](/Users/coapeng/Library/Application Support/typora-user-images/image-20210427102637647.png)
分词器:将每一列数据 按照一定的规则进行拆分 es常用的分词器有
-
standard 标准分词 以单词边界切分字符串为terms,根据Unicode文本分割算法。它会移除大部分的标点符号,小写分词后的term,支持停用词
-
keyword :无操作分词器,会输出与输入相同的内容作为一个single term
-
ik 分词 针对中文开发的分词插件 有ik_max_word 和ik_smart两种模式 分别对应细粒度的拆分组合 和粗粒度的拆分组合
安装ik 分词 可以去github按照readme.md进行安装推荐使用第一种进行安装,安装的时候注意ES版本号 和ik分词插件版本号对其
-
whitespace 遇到空格字符时切分字符串
-
stop:类似简单分词器,同时支持移除停用词 (简单理解为不重要的单词)
-
Simple:该分词器会在遇到非字母时切分字符串,小写所有的term