想要知道ElasticSearch是如何使用的,最快的方式就是通過(guò)一個(gè)簡(jiǎn)單的例子,第一個(gè)例子將會(huì)包括基本概念如索引、搜索、和聚合等,需求是關(guān)于公司管理員工的一些業(yè)務(wù)。
員工文檔索引
業(yè)務(wù)首先需要存儲(chǔ)員工數(shù)據(jù)。這將采取一個(gè)員工文檔的形式:?jiǎn)蝹€(gè)文檔表示單個(gè)員工。在Elasticsearch中存儲(chǔ)數(shù)據(jù)的行為稱(chēng)為索引,但是在索引文檔之前,我們需要決定在哪里存儲(chǔ)它。
在Elasticsearch中,文檔屬于某個(gè)類(lèi)型,這些類(lèi)型位于索引中。可以繪制一些(粗略)與傳統(tǒng)關(guān)系數(shù)據(jù)庫(kù)的對(duì)比:
Relational DB ? Databases ? Tables ? Rows ? Columns Elasticsearch ? Indices ? Types ? Documents ? Fields
Elasticsearch集群可以包含多個(gè)索引(數(shù)據(jù)庫(kù)),這些索引又包含多個(gè)類(lèi)型(表)。這些類(lèi)型包含多個(gè)文檔(行),每個(gè)文檔都有多個(gè)字段(列)。
您可能已經(jīng)注意到,在Elasticsearch的上下文中,索引被重載了幾個(gè)含義。如下:
索引(名詞):正如前面所解釋的那樣,索引就像傳統(tǒng)的關(guān)系數(shù)據(jù)庫(kù)中的數(shù)據(jù)庫(kù)一樣。它是存儲(chǔ)相關(guān)文檔的地方。index的復(fù)數(shù)形式是indices或indexes。
索引(動(dòng)詞):索引一個(gè)文檔是將一個(gè)文檔存儲(chǔ)在索引(名詞)中,以便它可以檢索和查詢(xún)。它很像插入關(guān)鍵詞SQL。此外,如果文檔已經(jīng)存在,新的文檔將取代舊的。
倒排索引:關(guān)系數(shù)據(jù)庫(kù)中增加一個(gè)索引,如B-樹(shù)索引,對(duì)特定列為了提高數(shù)據(jù)檢索的速度。Elasticsearch和Lucene提供相同目的的索引稱(chēng)為倒排索引。
默認(rèn)情況下,文檔中的每個(gè)字段索引(有一個(gè)倒排索引)這樣的搜索。一個(gè)沒(méi)有倒排索引字段不可搜索。
延伸閱讀
- ssh框架 2016-09-30
- 阿里移動(dòng)安全 [無(wú)線(xiàn)安全]玩轉(zhuǎn)無(wú)線(xiàn)電——不安全的藍(lán)牙鎖 2017-07-26
- 消息隊(duì)列NetMQ 原理分析4-Socket、Session、Option和Pipe 2024-03-26
- Selective Search for Object Recognition 論文筆記【圖片目標(biāo)分割】 2017-07-26
- 詞向量-LRWE模型-更好地識(shí)別反義詞同義詞 2017-07-26
- 從棧不平衡問(wèn)題 理解 calling convention 2017-07-26
- php imagemagick 處理 圖片剪切、壓縮、合并、插入文本、背景色透明 2017-07-26
- Swift實(shí)現(xiàn)JSON轉(zhuǎn)Model - HandyJSON使用講解 2017-07-26
- 阿里移動(dòng)安全 Android端惡意鎖屏勒索應(yīng)用分析 2017-07-26
- 集合結(jié)合數(shù)據(jù)結(jié)構(gòu)來(lái)看看(二) 2017-07-26