ElaticSearch---主要用途【做全文檢索】Lucene---【全文檢索】
為什么要使用ElaticSearch。
? ? 雖然全文搜索領(lǐng)域,Lucene可以被認為是迄今為止最先進、性能最好的、功能最全的搜索引擎庫。
? ? 但是,Lucene只是一個庫。想要使用它,你必須使用Java來作為開發(fā)語言并將其直接集成到你的應(yīng)用中,更糟糕的是,Lucene的配置及使用非常復(fù)雜,你需要深入了解檢索的相關(guān)知識來理解它是如何工作的。
? ? 總體來說Lucene缺點:使用起來比較復(fù)雜、Lucene不支持集群,而ElaaticSearch真好彌補了這一點。

ElaaticSearch
? ? ES即為了解決原生Lucene使用的不足,優(yōu)化Lucene的調(diào)用方式,并實現(xiàn)了高可用的分布式集群的搜索方案,其第一個版本于2010年2月出現(xiàn)在GitHub上并迅速成為最受歡迎的項目之一。
? ? 首先,ES的索引庫管理支持依然是基于Apache Lucene(TM)的開源搜索引擎。
? ? ES也使用Java開發(fā)并使用Lucene作為其核心來實現(xiàn)所有索引和搜索的功能,但是它的目的是通過簡單的 RESTfulAPI來隱藏Lucene的復(fù)雜性,從而讓全文搜索變得簡單。
? ? ? ? 不過,ES的核心不在于Lucene,其特點更多的體現(xiàn)為:
(1)分布式的實時文件存儲,每個字段都被索引并可被搜索
(2)分布式的實時分析搜索引擎
(3)可以擴展到上百臺服務(wù)器,處理PB級結(jié)構(gòu)化或非結(jié)構(gòu)化數(shù)據(jù) 1024KB-1MB
? ? ? ? ? ? ? ? ? 1024MB = 1GB
? ? ? ? ? ? ? ? ? 1024GB = 1TB
? ? ? ? ? ? ? ? ? 1024TB = 1PB
? ? 高度集成化的服務(wù),你的應(yīng)用可以通過簡單的 RESTful API、各種語言的客戶端甚至命令行與之交互。
? ? 上手Elasticsearch非常容易。它提供了許多合理的缺省值,并對初學(xué)者隱藏了復(fù)雜的搜索引擎理論。它擁有開瓶即飲的效果(安裝即可使用),只需很少的學(xué)習(xí)既可在生產(chǎn)環(huán)境中使用。

Lucence的不足---lucence
1)lucene只能在Java中以java jar引入項目,其他語言就不行了。
2)lucene使用非常復(fù)雜,寫一大堆代碼來實現(xiàn)創(chuàng)建索引和搜索索引。
3)lucene不能集群,環(huán)境使用。


ES:特點:
? ? (1)Es 全文檢索框架 使用比lucene更簡單
? ? (2)ES支持集群 支持分布式
? ? (3)支持JSON的操作
? ? (4)一般大型全文檢索都是用ES
? ? (5)通過Restfull風(fēng)格來操作ES

ES相關(guān)概念集群


總結(jié)
? ?ElasticSearch簡化了全文檢索lucene的使用,同時增加了分布式的特性,使得構(gòu)建大規(guī)模分布式全文檢索變得非常容易。

最后推薦GitHub是個牛*的網(wǎng)站,多去瞅瞅。

java育兒園里的小學(xué)生“磨陀貨”友情提供?。。? 不用謝不用謝 誒~不用不用 真不用謝

