一、elasticsearch学习缘由
之前早就知道elasticsearch
的威望了,但是迟迟不敢学,感觉自己还达不到用这个
和学这个
的情况和水平。
后来,在公司里和之前老板聊天中聊到了elasticsearch
。
我:你在这个项目里用到了elasticsearch
了吗?
老板:用到了啊,商品搜索就是用的elasticsearch
。
我赶紧的拿起手机打开APP试了试商品搜索,确实比用sql语句写一个模糊查询
的速度快。
借用周星驰《功夫》里面斧头帮大哥的一句话:
我心想,用户不多的小商城还用elasticsearch
未免小题大做了把!但是一想老板的性格(不管做什么都很用心的去做,敬畏每一行代码),还算是能想通哈哈。
老板:elasticsearch
学了没有?
我:没有啊,目前还没用到,而且一般水平很高的php程序员
才会使用把?
老板白了我一眼,苦笑着说:闯啊(我的小名),你怕啥,早晚得学,早学早用。
于是,我信心满满的开始了elasticsearch学习之路(目前只是一个初步认识和使用的水平,还未深入)
二、elasticsearch学习
1、关于elasticsearch
简介:
2、什么是ELK
ELK = elasticsearch+Logstash+kibana
- E:elasticsearch
- L:logstash
- K:kibana
三者配合,共同完成处理分布式大数据的工作。
3、elasticsearch能做些什么
分布式存储,处理大数据搜索,支持插件机制,给力的中文分词,让搜索灰常的万多火
(wonderful)。其中最大的亮点就是搜索了。
4、ES中一些特别重要概念
MYSQL | elasticsearch |
---|---|
Database | Index |
TABLE | Type |
Row | Document |
Column | Field |
Schema | Mapping |
- Mysql中的
数据库
就相当于Elasticsearch的索引
。 - Mysql中的
数据表
就相当于Elasticsearch的type
。 - Mysql中的
每行数据
就相当于Elasticsearch的doument
。 - Mysql中的
表字段
就相当于Elasticsearch的Field
。 - Mysql中的
视图
就相当于Elasticsearch的Mapping
。
温馨提示:ES和MYSQL
没有直接关系
,只是一些含义很类似。
三、安装Elasticsearch
安装Elasticsearch需要依赖于java环境,对于曾经学过java的我来说,没那么的困难
1、安装java环境
参考博客:安装jdk1.8
安装完成后,使用java -version
查看版本信息:
2、下载Elasticsearch
github地址:下载地址
命令行启动elasticsearch.bat
:
3、浏览器访问http://localhost:9200/
:
这样,就算是安装成功啦。
四、安装Elasticsearch管理工具Elasticsearch-Head
五、安装中文分词elasticsearch-analysis-ik
结论
推荐一篇专业elasticsearch大佬的博客:传送门