官术网_书友最值得收藏!

第2章 Elasticsearch原理與實現(xiàn)

Elastic官方對Elasticsearch的定義是這樣的:Elasticsearch is a highly scalable open-source full-text search and analytics engine。可見在官方定義中,Elasticsearch被視為一種高度可伸縮的全文檢索(Full-text Search)和分析引擎,這體現(xiàn)了Elasticsearch具有強大的文檔檢索和分析能力。Elasticsearch底層基于Apache Lucene,而Lucene本身是一種早就聞名于世的全文檢索引擎和工具包。Elasticsearch在此基礎(chǔ)之上進行了封裝,不僅繼承了Lucene所有優(yōu)點,還大大降低了使用和開發(fā)的復(fù)雜度。所以從這個角度來說,Elasticsearch是一種全文檢索和分析引擎。

但事實上,Elasticsearch也包含了強大的數(shù)據(jù)存儲能力,它所檢索的數(shù)據(jù)不依賴于外部數(shù)據(jù)源,而由Elasticsearch統(tǒng)一管理。不僅如此,Elasticsearch還具備創(chuàng)建數(shù)據(jù)分片(Shard)和數(shù)據(jù)副本(Replica)的能力,可以滿足大數(shù)據(jù)量下的高可用性和高性能要求。所以在許多文獻中,Elasticsearch也被歸類為一種基于文檔的NoSQL數(shù)據(jù)庫,類似于MongoDB。事實上,正是這種優(yōu)秀的存儲能力,才使Elasticsearch具備了強大的檢索和分析能力。

對于初學(xué)者來說,上述內(nèi)容中或許有不少術(shù)語不容易理解,比如全文檢索、分片、副本等。不僅如此,Elasticsearch中還有許多獨特概念,比如索引、映射、類型、文檔、字段等。如果不能正確理解這些概念的含義,學(xué)習(xí)后面的內(nèi)容就會很吃力。本章會首先將這些概念及其背后的原理與實現(xiàn)介紹清楚,為后續(xù)實際應(yīng)用Elasticsearch做好準(zhǔn)備。

主站蜘蛛池模板: 平舆县| 吴桥县| 奉化市| 涟水县| 兴隆县| 高安市| 西城区| 宜都市| 保亭| 五河县| 定西市| 鄂托克旗| 德保县| 乐清市| 漳浦县| 蕲春县| 上思县| 大石桥市| 寿光市| 夹江县| 东光县| 古交市| 凤城市| 伊春市| 乡宁县| 昌图县| 射阳县| 黑龙江省| 札达县| 蕉岭县| 崇仁县| 崇礼县| 白城市| 红河县| 泸溪县| 合肥市| 尼木县| 广安市| 静海县| 宁津县| 黔南|