Elasticsearch 是一個分佈式的,高性能的,高可用的,可伸縮的搜索和分析系統算法
什麼是Lucene?服務器
是一個Jar包,裏邊包含了封裝好的各類創建倒排索引和搜索的代碼,包括各類算法。用Lucene咱們能夠將已有的數據創建索引,Lucene會在本地磁盤上面,給咱們組織索引的數據結構數據結構
Elasticsearch的功能,幹什麼的?分佈式
(1)分佈式的 搜索引擎 和 數據分析引擎性能
搜索:百度,網站的站內搜索,IT系統的檢索
數據分析:電商網站,最近7天牙膏這種商品銷量排名前10的商家有哪些;新聞網站,最近1個月訪問量排名前3的新聞版塊是哪些
分佈式,搜索,數據分析網站
(2)全文檢索,結構化檢索,數據分析搜索引擎
全文檢索:我想搜索商品名稱包含牙膏的商品,select * from products where product_name like "%牙膏%"
結構化檢索:我想搜索商品分類爲日化用品的商品都有哪些,select * from products where category_id='日化用品'
部分匹配、自動完成、搜索糾錯、搜索推薦
數據分析:咱們分析每個商品分類下有多少個商品,select category_id,count(*) from products group by category_id索引
(3)對海量數據進行近實時的處理數據分析
分佈式:ES自動能夠將海量數據分散到多臺服務器上去存儲和檢索
海聯數據的處理:分佈式之後,就能夠採用大量的服務器去存儲和檢索數據,天然而然就能夠實現海量數據的處理了
近實時:檢索個數據要花費1小時(這就不要近實時,離線批處理,batch-processing);在秒級別對數據進行搜索和分析ast
Elasticsearch的適用場景,能在什麼地方發揮做用?
國內:站內搜索(電商,招聘,門戶,等等),IT系統搜索(OA,CRM,ERP,等等),數據分析(ES熱門的一個使用場景)