- Elastic Stack應(yīng)用寶典
- 田雪松編著
- 488字
- 2020-07-22 17:21:22
第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)備。
- 多媒體CAI課件設(shè)計與制作導(dǎo)論(第二版)
- Spring Cloud Alibaba微服務(wù)架構(gòu)設(shè)計與開發(fā)實戰(zhàn)
- Visual Basic程序開發(fā)(學(xué)習(xí)筆記)
- .NET 4.0面向?qū)ο缶幊搪劊夯A(chǔ)篇
- Instant Zepto.js
- 技術(shù)領(lǐng)導(dǎo)力:程序員如何才能帶團隊
- Building Cross-Platform Desktop Applications with Electron
- BIM概論及Revit精講
- Getting Started with Greenplum for Big Data Analytics
- Unity 2D Game Development Cookbook
- 速學(xué)Python:程序設(shè)計從入門到進階
- Web前端應(yīng)用開發(fā)技術(shù)
- INSTANT Yii 1.1 Application Development Starter
- Kubernetes進階實戰(zhàn)
- Java EE Web應(yīng)用開發(fā)基礎(chǔ)