1.Lucene的優化, 實現了高可用的分佈式集羣的搜索方案前端
2.首先,ES的索引庫管理支持依然是基於Apache Lucene(TM)的開源搜索引擎。ES也使用Java開發並使用Lucene做爲其核心來實現全部索引和搜索的功能,可是它的目的是經過簡單的 RESTful API來隱藏Lucene的複雜性,從而讓全文搜索變得簡單。node
3.ES的特色linux
a) 分佈式的實時文件存儲,每一個字段都被索引並可被搜索npm
分佈式的實時分析搜索引擎json
能夠擴展到上百臺服務器,處理PB級結構化或非結構化數據windows
高度集成化的服務,你的應用能夠經過簡單的 RESTful API、各類語言的客戶端甚至命令行與之交互。
ES支持分佈式集羣
瀏覽器
b) 上手Elasticsearch很是容易。它提供了許多合理的缺省值,並對初學者隱藏了複雜的搜索引擎理論。它擁有開瓶即飲的效果(安裝便可使用),只需不多的學習既可在生產環境中使用。服務器
c) 與ES相似的框架cors
i. ES框架自身攜帶分佈式協調管理的功能,可是僅僅支持json格式的數據框架
ii. Solr(重量級加框架):利用zookeeper進行分佈式管理,支持更多格式的數據,使用時要作許多配置
iii. Katta基於Lucene
基於 Lucene 的,支持分佈式,可擴展,具備容錯功能,準實時的搜索方案。優勢:開箱即用,能夠與 Hadoop 配合實現分佈式。具有擴展和容錯機制。
缺點:只是搜索方案,建索引部分仍是須要本身實現。在搜索功能上,只實現了最基本的需求。成功案例較少,項目的成熟度稍微差一些。
iv. HadoopContrib
d) 小結:ElasticSearch簡化了全文檢索lucene的使用,同時增長了分佈式的特性,使得構建大規模分佈式全文檢索變得很是容易。
a) 安裝ES:下載壓縮包解壓,而後運行elasticsearch.bat就好了
瀏覽器運行:127.0.0.1:9200
b) ES服務器的三個狀態
i. Green—yellow--red
c) ES的交互方式
i. 基於restFul 的API交互方式,和全部的客戶端交互都經過json格式的數據交互
ii. Java API交互的兩種方式
注意 Java客戶端所在的ES版本必須與集羣中其餘節點一致,不然,它們可能互相沒法識別。 |
d) Restful風格的拓展認識
e) 輔助管理工具(kibana)
i. ① Kibana5.2.2下載地址:https://www.elastic.co/downloads/kibana
ii. ② 解壓並編輯config/kibana.yml,設置elasticsearch.url的值爲已啓動的ES
iii. ③ 啓動Kibana5 : bin\kibana.bat
iv. ④ 默認訪問地址:http://localhost:5601
a) 概念:和Lucene同樣都是用於全文檢索,區別就是Lucene是個全文搜索工具包,而ES是一個全文搜索服務器
b) 全文檢索:基於索引查詢數據的技術,代替了模糊查詢,提升了查詢的效率
c) Lucene的缺點:使用複雜,只支持JAVA語言環境,Lucene沒法作集羣
d) 而ES彌補了Lucene的不足
i. ElasticSearch簡化了全文檢索lucene的使用,同時增長了分佈式的特性,使得構建大規模分佈式全文檢索變得很是容易.
ii. ES自己支持集羣,
iii. ES對Lucene進行了一個封裝,原來Lucene建立索引是使用一對代碼建立索引,而ES建立索引只用發送一個http請求就行了
a) 下載ES壓縮包
b) 解壓
c) 啓動bin/elasticsearch.bat
d) 測試是否啓動: http://localhost:9200
e) 啓動kibana時能夠看到ES集羣的健康狀態
1)curl
windows不支持,須要在linux
2) 火狐的POSTER插件界面
3) kibana
官方推薦
4)前端head比較屌,能夠直接看到shard和replica
5)postman
a) 這裏選擇kibana可視化界面
i. 下載壓縮包
ii. 解壓安裝
iii. 修改config/kibana.yml配置文件: 設置elasticsearch.url的值爲已啓動的ES的端口路徑
iv. 啓動kibana
v. 訪問localhost:5601
a) 解壓壓縮包 ,而後在cmd運行安裝命令
npm install,和運行命令npm run start
安裝完畢後要鏈接ES,須要在elasticsearch/config/elasticsearch.yml中進行配置, http.cors.enabled: true
http.cors.allow-origin: "*",後才能鏈接到ES服務器