ElasticSearch也是一款很是優秀的開源的全文檢索框架,以大名鼎鼎的Apache Lucene爲基礎,高度封裝了更豐富,易用的API,同時與Apache Solr同樣,提供了很是強大的分佈式集羣功能!
有不懂ElasticSearch(下文簡稱es)是幹啥的朋友,能夠點此連接在百科上先大體瞭解下。
下面進入正題,本篇散仙先從宏觀上介紹es的一些概念和特性,讓你們可以對es總體有個認識,後續,散仙會寫一些怎麼安裝,部署,調優,使用,集羣等
es和lucene,solr同樣,都是無模式的基於列式的存儲格式,這和大多數的NoSQL數據庫是同樣的,很是靈活,下面咱們經過一張圖,來看下關係型數據庫映射到es裏面,對應的名詞關係:
node
瞭解這個以後,咱們對es的認識就會更加清晰明瞭,下面咱們看下es自身的一些優點和功能:
1,一個基於分佈式的Restful的搜索引擎
2,高可用
3,每份索引是基於配置衝的一個shard
4,每一個shard能夠有一個或多個副本
5,讀操做自動負載到任何一個副本
6,多租戶和多Type的
7,支持多於一種索引(相似數據庫)
8,一個索引又支持多種type(相似表)
9,靈活的索引配置,分片數,存儲類型
10,多種多樣的set的api接口
11,基於http的restful的api
12,完美支持本地原生Java api
13,全部的api操做,支持自動路由轉發
14,面向Document的存儲模式
15,動態的數據類型配置,無須提早定義
16,schema能夠給每一個type進行定製化操做
17,長久的高可靠,異步的寫支持
18,近實時的搜索效果(注意是近實時,不是實時)
19,基於Apache Luecene
20,每一個shard都是一個功能齊全的lucene索引
21,全部的lucene功能在es裏均可以經過簡單的配置和插件進行實現
22,保證操做一致性
23,單個doc(至關於關係型數據庫裏的一行數據)級別的操做,支持A(原子的),C(一致的),I(隔離的),D(持久的)特性
24,徹底基於Lucene開源的企業級全文檢索框架 數據庫
不一樣的讀寫場景支持:
es是一個高可靠的,分佈式的搜索引擎,每份超大的索引被拆分紅多個shards,每個shard支持一個或多個副本,默認狀況下,一份大的索引拆分紅5個shards,每一個shard又有一個副本(5/1),固然,咱們也能夠根據本身的狀況配置適合咱們的拓撲結構,,包括1個shard,10個副本(1/10),支持讀多寫少的場景,或者20個shard,一個備份,支持寫多,讀少的場景,固然在咱們搜索時,會是相似一個map,reduce的過程,多個map檢索,最後在一個reduce進行合併結果。
爲了支持es的分佈式的特性,每一個shard會部署在一個或多個node(機器節點)上,支持啓動和關閉,只要確保咱們寫正確了http端口,系統就會繼續接受請求,爲咱們查詢最近一次的索引的數據 api
最後,散仙幫朋友發個招聘啓事:
招聘職位: 搜索工程師
一些要求:
1,熟練使用lucene,solr
2,有電商搜索經驗的優先
3, 3年以上的Java開發經驗
4,學歷專科以上便可
公司主作跨境b2b電商平臺
地址在三元橋附近
福利:話補,飯補
薪水在15K-20K之間
有意者請留言聯繫散仙,幫推薦! 微信
歡迎你們關注微信公衆號:我是工程師(woshigcs),更多與攻城師息息相關的內容,盡在此處。
二維碼掃描: restful