### **一、ElasticSearch是什么**
*****
> ElasticSearch,簡稱es,es是一個開源的**高拓展**的**分布式全文檢索引擎**,它可以近乎**實時的存儲**、**檢索數據**;本身拓展性很好,它可以拓展到上百臺服務器,處理PB級別的數據。es也使用java開發并使用Lucene的復雜性,從而讓全文檢索變得簡單
> 據國際權威的數據庫產品評測機構DB Engines的統計,2016年1月,ElasticSearch已超過solr等成為排名第一的搜索引擎類應用
<blockquote class="success">ElasticSearch與solr比較</blockquote>



>1. es基本就是開箱使用,非常簡單,Solr安裝比較復雜一點
>2. Solr支持更多格式的數據,比如json,xml,csv,而ElasticSearch僅支持json文件格式
>3. Solr利用Zookeeper進行分布式管理,而ElasticSearch自身帶有分布式協調管理功能。
>4. Solr官方提供的功能更多,而ElasticSearch本身更注重與核心功能,高級功能多有第三方插件提供,例如圖形化頁面需要kibana友好支撐
>5. Solr查詢快,但更新索引滿,用于電商等查詢多的應用
>6. ElasticSearch建立索引快(查詢慢),實時性查詢快,用于facebook新浪等搜索
>7. Solr是傳統搜索應用的有力解決方案,但ElasticSearch更適用新興的實時搜索應用
>8. Solr比較成熟,有一個更大,更成熟的用戶、開發和貢獻者社區,而ElasticSearch相對開發維護者較少,更新太快,學習使用成本較高
### **二、為什么要用ElasticSearch**
>公司業務涉及到法律文本的檢索,為了提高法律文本庫檢索效率又要實現復雜的全文檢索,如果單純使用關系型數據庫,針對海量的數據的檢索則會十分的緩慢,于是綜合考慮使用es結合關系型數據庫來實現法律文本庫的高級檢索功能。接下來會使用ELK來實現完整的檢索功能。
<blockquote class="success">什么是ELK</blockquote>
>**ELK** 提供了一整套解決方案,并且都是開源軟件,之間互相配合使用,完美銜接,高效的滿足了很多場合的應用。目前主流的一種日志系統。ELK 這個首字母縮寫代表三個得到廣泛應用的開源項目的集合:E=Elasticsearch(基于 Lucene),L=Logstash,K=Kibana。Elasticsearch 是一個搜索和分析引擎。Logstash 是服務器端數據處理管道,能夠同時從多個來源采集數據,轉換數據,然后將數據發送到諸如 Elasticsearch 等“存儲庫”中。Kibana 則可以讓用戶在 Elasticsearch 中使用圖形和圖表對數據進行可視化。
### **三、接下來怎么做**
>本文將使用Cakephp4.x+ElasticSearch7.6.2來實現。接下來帶大家熟悉ELK的部署以及ES檢索語法,并提供相關的安裝軟件及源碼。目前已實現簡單的第一版功能。


### **四、最后**
>因為業務開發需要且時間短促,所以簡單的研究和運用了ElasticSearch部分內容,只是入門的水平。文檔中如果描述不詳或錯誤之處,請諒解。
<blockquote class="danger">推薦閱讀</blockquote>
<i class="thumbs outline up icon"></i>[在 window上 ELK 的安裝部署](https://www.kuangstudy.com/bbs/1365949950759809025)
<i class="thumbs outline up icon"></i>[ElasticSearch官方文檔](https://www.elastic.co/guide/en/elasticsearch/reference/current/index.html)
<i class="thumbs outline up icon"></i>[基于vue2+vant+koa 實現仿網易嚴選](http://wangyi.ryloo.icu)
- 前言
- Markdown教程
- ElasticSearch教程
- ElasticSearch7.6.2安裝
- Elasticsearch-head安裝
- Elasticsearch-IK中文分詞器
- ElasticSearch基礎入門
- 索引管理
- ElasticSearch深入搜索
- 結構化搜索
- 精確值查找
- 組合過濾器
- 范圍查詢
- 全文搜索
- 匹配查詢
- 組合查詢
- 跨度查詢
- Logstash教程
- Logstash的安裝
- Mysql數據同步到ES
- Kibana教程
- Kibana7.6.2安裝
- Cakephp4.x+ElasticSearch7.6.2
- Cakephp4.x的安裝和使用
- Elasticsearch-phpSDK的使用
- 安裝軟件及源碼下載
- 使用總結
- elasticsearch 7.2集群安裝部署
- 集群的安裝部署
- es集群master節點配置組合
- 分片數、副本數分配算法
- 關于集群部署的答疑解惑