### ES是什么
elasticsearch簡寫es,es是一個高擴展、開源的全文檢索和分析引擎,它可以準實時地快速存儲、搜索、分析海量的數據。*
### 什么是全文檢索
全文檢索是指計算機索引程序通過掃描文章中的每一個詞,對每一個詞建立一個索引,指明該詞在文章中出現的次數和位置,當用戶查詢時,檢索程序就根據事先建立的索引進行查找,并將查找的結果反饋給用戶的檢索方式。這個過程類似于通過字典中的檢索字表查字的過程。全文搜索搜索引擎數據庫中的數據。
### ES的應用場景
- 一個線上商城系統,用戶需要搜索商城上的商品。
在這里你可以用es存儲所有的商品信息和庫存信息,用戶只需要輸入”空調”就可以搜索到他需要搜索到的商品。
- 一個運行的系統需要收集日志,用這些日志來分析、挖掘從而獲取系統業務未來的趨勢。
你可以用logstash(elk中的一個產品,elasticsearch/logstash/kibana)收集、轉換你的日志,并將他們存儲到es中。一旦數據到達es中,就你可以在里面搜索、運行聚合函數等操作來挖掘任何你感興趣的信息。
- 如果你有想基于大量數據(數百萬甚至數十億的數據)快速調查、分析并且要將分析結果可視化的需求。
你可以用es來存儲你的數據,用kibana構建自定義的可視化圖形、報表,為業務決策提供科學的數據依據。
直白點講,es是一個企業級海量數據的搜索引擎,可以理解為是一個企業級的百度搜索,除了搜索之外,es還可以快速的實現聚合運算。
### ES的存儲結構

ES存儲結構可以與MYSQL進行類比,關系如下:
| ES | MYSQL |
| ---- | ------------ |
| 索引 | 數據庫 |
| 類型 | 數據表 |
| 文檔 | 數據表的一行 |
| 屬性 | 數據表的一列 |