一、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大佬的博客:傳送門