1. 程式人生 > >es學習:基礎知識介紹

es學習:基礎知識介紹

一、概述

Elasticsearch:是一個開源的分散式搜尋引擎伺服器;有一下特點和功能:

1.      支援分散式儲存;

2.      提供全文檢索功能;

3.      完成對大資料的自動分片,自動負載索引,並提供RESTFUL WEB頁面介面;

4.      是基於Lucene構建的;

二、一些概念的解釋

1.      叢集:cluster

     1.      代表一個叢集,叢集中有多個節點(每個節點儲存著相同的資料)

     2.      預設cluster的名字為elasticsearch。其中一個節點只能屬於一個叢集。

     3.      不同的叢集是通過名字來區分的。

     4.      elasticsearch-xx資料夾下的data目錄下資料夾名字就是cluster的名字。

2.      節點:node

    1.      它是cluster的一部分,用來儲存資料,並提供叢集的索引和搜尋功能。

    2.      node都會有一個名字,啟動時預設是隨機生成的名字。我們也可以自己制定名稱。

   3.      data/elasticsearch下可以發現有nodes資料夾,存在資料夾0,這個檔案就是所說的節點;

3.      索引:index

   1.      索引是document的一個集合,名字必須用小寫來命名這是ES儲存資料的地方,類似於

關係資料庫的database

   2.      假設建的索引為test,在elasticsearch-xx/data/elasticsearch/0/indices/資料夾下發現有test這個資料夾。

4.型別:type

1就是對index的更細的一個劃分。類似關係資料庫的表.

5.文件document

   1.      這個類似關係資料庫的一行。這個是被索引的最基本單元

6.欄位:Field

    1.      這個類似關係資料庫的某一列,這是ES資料儲存的最小單位

7. 分片:

一個分片本身就是一個完整的搜尋引擎。文件儲存在分片中,而分片則會被分配到叢集中節點中,隨著叢集的擴大和縮小,

es會自動地將分片在節點之間進行遷移,以保證叢集能保持一種平衡。

1.如果我們的索引資料量很大,超過硬體存放單個檔案的限制,就會影響查詢請求的速度。Es引入了分片技術;

2.將一個完整的index分成若干部分儲存在相同不同節點上。

3. 每個分片都有自己搜尋,更新,刪除等和index一樣全部功能的一小塊。

4.好處:水平分割和擴充套件我們存放的內容索引;分發和並行跨碎片操作提高效能/吞吐量;

5.假設索引為firsttime,在elasticsearch-xx/data/elasticsearch/0/indices/firsttime下有5個分片,從0-4

個人理解:index可以理解成資料庫,假設資料庫名字稱為test,裡面的表t1存放10條資料,那麼分給AB,C3個不同的分片,A分片存存test資料庫,儲存t1表中的前3條資料;B分片存存test資料庫,儲存t1表中的中間4條資料;C分片存存test資料庫,儲存t1表有中的後3條資料;每個分片儲存索引的結構都一樣,儲存資料不一樣。

7. 副本:replica

1.冗餘備份,防止資料丟失;

2.負載均衡

一個索引中含有主分片的數量,預設值為5,在索引建立後這個值是不能被更改的

每一個主分片關聯的副本分片的數量,預設值為1,這個設定在任何時候都可以修改

對副本分片數量的修改:

假設主分片為4,副本分片為2,則就有12條分片,其中4條主分片,8條副分片;

三、es的資料型別

3.1  何謂mapping

Mapping,就是對索引庫中索引的欄位名及其資料型別進行定義。

3.2  資料型別

1.      string

2.      numberbyte intlong float double

3.      Boolean

4.      Date

5.      Binary

3.3  公共屬性

1.index:定義欄位的檢索方式和分析型別

預設值analyzed進行分詞,編入索引以供搜尋;

no:則無法通過檢索查詢到該欄位

not_analyzed:不進行分詞(整個欄位儲存為關鍵詞),編入索引以供搜尋;

2.store:

預設值no,不儲存,從_source欄位取出;

true:獨立儲存。

ES中原始的文字會儲存在_source裡面(除非你關閉了它)。預設情況下其他提取出來的欄位都不是獨立儲存的,是從_source裡面提取出來的。當然你也可以獨立的儲存某個欄位,只要設定store:true即可

獨立儲存某個欄位,在頻繁使用某個特殊欄位時很常用。而且獲取獨立儲存的欄位要比從_source中解析快得多,而且額外你還需要從_source中解析出來這個欄位,尤其是_source特別大的時候。

不過需要注意的是,獨立儲存的欄位越多,那麼索引就越大;索引越大,索引和檢索的過程就會越慢....

相關推薦

es學習基礎知識介紹

一、概述 Elasticsearch:是一個開源的分散式搜尋引擎伺服器;有一下特點和功能: 1.      支援分散式儲存; 2.      提供全文檢索功能; 3.      完成對大資料的自動分片

視訊編解碼的理論和實踐1基礎知識介紹

近幾年,視訊編解碼技術在理論及應用方面都取得了重大的進展,越來越多的人想要了解編解碼技術。因此,網易雲信研發工程師為大家進行了歸納梳理,從理論及實踐兩個方面簡單介紹視訊編解碼技術。 相關閱讀推薦 1、視訊介紹 視訊的本質是影象序列,根據視覺暫留的原理

framework7學習筆記二基礎知識

部分 cnblogs query 基礎 logs code 自己 $$ pan 一:DOM7 framework7有自己的 DOM7 - 一個集成了大部分常用DOM操作的高性能庫。它的用法和jQuery幾乎是一樣的,包括大部分常用的方法和jquery風格的鏈式調用。 在開發

DeepLearning.ai學習筆記(四)卷積神經網絡 -- week1 卷積神經網絡基礎知識介紹

除了 lock 還需要 情況 好處 計算公式 max 位置 網絡基礎 一、計算機視覺 如圖示,之前課程中介紹的都是64* 64 3的圖像,而一旦圖像質量增加,例如變成1000 1000 * 3的時候那麽此時的神經網絡的計算量會巨大,顯然這不現實。所以需要引入其他的方法來

【視頻編解碼·學習筆記】7. 熵編碼算法基礎知識 & 哈夫曼編碼

html 節點 表示 效率 article tchar vector nod code 一、熵編碼概念: 熵越大越混亂 信息學中的熵: 用於度量消息的平均信息量,和信息的不確定性 越是隨機的、前後不相關的信息,其熵越高 信源編碼定理: 說明了香農熵越信源符號概率之間的

廖雪峰網站學習python基礎知識—循環(四)

con class strong 網站 python bre 計算 end hal 一、循環 1、for names = [‘Michal‘, ‘Bob‘, ‘tracy‘] for name in names: print(name) sum =

《組合語言(第3版)(王爽 著)》學習筆記一基礎知識(1)

組合語言是直接在硬體之上工作的程式語言,我們首先要了解硬體系統的結構,才能有效地應用匯編語言對其程式設計。 彙編課程的研究重點放在如何利用硬體系統的程式設計結構和指令集有效靈活地控制系統進行工作。

《組合語言(第3版)(王爽 著)》學習筆記二基礎知識(2)

1.7 CPU 對儲存器的讀寫 以上講到,儲存器被劃分成多個儲存單元,儲存單元從零開始編號。這些編號可以看作儲存單元在儲存器中的地址。就想一條街,每個房子都有門牌號碼。 CPU 要從記憶體中讀資料,

《組合語言(第3版)(王爽 著)》學習筆記三基礎知識(3)

1.11 記憶體地址空間(概述) 什麼是記憶體地址空間呢?舉例來講,一個 CPU 的地址匯流排寬度為 10,那麼可以定址 1024 個記憶體單元,這 1024 個可尋到的記憶體單元就構成這個 CPU

SpringCloud學習系列之一基礎概念介紹

引言 本系列博文主要為SpringCloud學習的博文系列。 到底什麼是微服務 SpringCloud元件介紹 一、到底什麼是微服務 1、微服務的定義 "Microservice" 即微服務,在Martin Fowler的博文中介紹了微服務的具體概念。它是一

學習OpenStack之 (0)基礎知識

vi 方向鍵出現字母問題解決方法 執行命令 sudo apt-get remove vim-common  執行命令 sudo apt-get install vim 滑鼠被virtualbox捕獲無法釋放 按右Control鍵可以釋放滑鼠 使服務在機器重啟後自啟動 sudo update

Tensorflow學習筆記(一)基礎知識

博主準備開始學習Tensorflow,將自己學到的東西總結出來,既能夠加深記憶,並且便於複習,如果能夠幫助到別人那更是再好不過了。 隨著深度學習的快速發展,深度學習工具也有很多。主流的深度學習框架包括Tensorflow,Caffe,Theano,Torch等

學習《Java核心技術卷1基礎知識》中物件與類一章中遇到的問題

P101 4.3使用者自定義類 ①Employee類的程式碼要注意內部類問題; ②同一個包中類的重名問題,尤其是寫在同一個檔案中的類; package class20110906; import java.util.Date; import java.util.Greg

Redux學習筆記-基礎知識

事件處理 學習筆記 情況 分發 .org 新的 分數 class 特點 p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 18.0px "Helvetica Neue"; color: #404040 } p.p2 { margin

CS231n(一)基礎知識

深度學習 highlight 自己 元組 .py [0 upper bsp python 給自己新挖個坑:開始刷cs231n深度學習。 看了一下導言的pdf,差缺補漏。 s = "hello" print s.capitalize() # 首字母大寫; prints "

web前端學習基礎知識1

計算 當前位置 ons 前端開發 結果 軟件 ava pro pan Web前端是一個很新的職業,在國內乃至國際上真正開始受到重視的時間不超過5年。Web前端開發是從網頁制作演變而來的,名稱上有很明顯的時代特征。目前看來,這個一個就業前景很大的職業。 web前端的學習不能一

Hadoop學習筆記—15.HBase框架學習基礎知識篇)

dfs hdfs keep 負載均衡 包含 兩個 列族 文件存儲 version HBase是Apache Hadoop的數據庫,能夠對大型數據提供隨機、實時的讀寫訪問。HBase的目標是存儲並處理大型的數據。HBase是一個開源的,分布式的,多版本的,面向列的存儲模型,它

node基礎學習——http基礎知識

tlist .com tp服務器 server 新的 http 請求 var 觸發 p.p1 { margin: 0.0px 0.0px 10.0px 0.0px; line-height: 11.0px; font: 14.0px Tahoma; color: #0000

python快速改造基礎知識

數字 技術分享 運行 from 微軟雅黑 就是 值轉換 復數 python腳本 改造"Hacking"並不同於破壞"cracking" python快速改造:基礎知識 一行就是一行,不管多少,不用加分號 交互式python解釋器可以當作計算器用:**是乘方(高於-運算

js基礎知識介紹

pro 知識 bsp var 字符 文本 運算符 span 取余 //js大小寫敏感 註意 ‘‘和; //單行註釋 /*多行註釋*/ //js輸出語法 //alert(‘周天‘); //c