ElasticSearch中的一些基本概念

    索引詞(term)

    在elasticsearch中索引詞(term)是一個可以被索引的精確值。foo,Foo Foo幾個單詞是不相同的索引詞。索引詞(term)是能夠經過term查詢進行準確的搜索。node

    文本(text)

    文本是一段普通的非結構化文字,一般,文本會被分析稱一個個的索引詞,存儲在elasticsearch的索引庫中,爲了讓文本可以進行搜索,文本字段須要事先進行分析;當對文本中的關鍵詞進行查詢的時候,搜索引擎應該根據搜索條件搜索出原文本。數據庫

    分析(analysis)

    分析是將文本轉換爲索引詞的過程,分析的結果依賴於分詞器,好比: FOO BAR, Foo-Bar, foo bar這幾個單詞有可能會被分析成相同的索引詞foo和bar,這些索引詞存儲在elasticsearch的索引庫中。當用 FoO:bAR進行全文搜索的時候,搜索引擎根據匹配計算也能在索引庫中搜索出以前的內容。這就是elasticsearch的搜索分析。json

wKioL1awuJLRbqSdAAAwY15mUg0234.png

    集羣(cluster)

    一個集羣由一個或多個共享相同的羣集名稱的節點組成。每一個羣集有一個單獨的主節點,這是由程序自動選擇,若是當前主節點失敗,程序會自動選擇其餘節點做爲主節點。數組

   節點(node)

    一個節點屬於一個集羣。一般狀況下一個服務器有一個節點,但有時候爲了測試方便,一臺服務器也能夠有多個節點。在啓動時,一個節點將使用廣播來發現具備相同羣集名稱的現有羣集,並將嘗試加入該羣集。服務器

    路由(routing)

    當存儲一個文檔的時候,他會存儲在一個惟一的主分片中,具體哪一個分片是經過散列值的進行選擇。默認狀況下,這個值是由文檔的id生成。若是文檔有一個指定的父文檔,從父文檔ID中生成,該值能夠在存儲文檔的時候進行修改。app

    分片(shard)

    分片是一個單一的Lucene實例。這個是由Elasticsearch管理的比較底層的功能。索引是指向主分片和副本分片的邏輯空間。對於使用,只須要指定分片的數量,其餘不須要作過多的事情。在開發使用的過程當中,咱們對應的對象都是索引,Elasticsearch會自動管理集羣中全部的分片,當發生故障的時候,一個Elasticsearch會把分片移動到不一樣的節點或者添加新的節點。elasticsearch

    主分片(primary shard)
ide

    每一個文檔都存儲在一個分片中,當你存儲一個文檔的時候,系統會首先存儲在主分片中,而後會複製到不一樣的副本中。默認狀況下,一個索引有5個主分片。你能夠在事先制定分片的數量,當分片一旦創建,分片的數量則不能修改。性能

    副本分片(replica shard)

    每個分片有零個或多個副本。副本主要是主分片的複製,其中有兩個目的:測試

    一、增長高可用性:當主分片失敗的時候,能夠從副本分片中選擇一個做爲主分片。

    二、提升性能:當查詢的時候能夠到主分片或者副本分片中進行查詢。默認狀況下,一個主分配有一個副本,但副本的數量能夠在後面動態的配置增長。副本必須部署在不一樣的節點上,不能部署在和主分片相同的節點上。

wKiom1awuCWwmuxwAAAtd02WpPI312.png

    索引(index)

    索引就像關係數據庫中的數據庫,每一個索引有不一樣字段,能夠對應不一樣的類型;每一個索引均可以有一個或者多個主索引片,同時每一個索引還能夠有零個或者多個副本索引片。

    類型(type)

    類型相似關係數據庫中的表。每種類型均可以指定不一樣的列。映射定義文檔中的每一個字段的類型,並能夠指定如何分析。

    文檔(document)

    一個文檔是一個JSON格式的字符串存儲在Elasticsearch中。它就像在關係數據庫中的表中的一行。每一個存儲在索引中的一個文件都有一個類型和一個id,每一個文件都是一個json對象,存儲了零個或者多個字段,或者鍵值對。原始的json文檔被存儲在一個叫作_source的字段中。當搜索文檔的時候默認返回的就是這個字段。

    映射(mapping)

    映射像關係數據庫中的表結構,每個索引都有一個映射,它定義了索引中的每個字段類型,以及一個索引範圍內的設置。一個映射能夠事先被定義,或者在第一次存儲文檔的時候自動識別。

    字段(field)

    一個文檔中包含零個或者多個字段,字段能夠是一個簡單的值(例如字符串、整數、日期),也能夠是一個數組或對象的嵌套結構。字段相似於關係數據庫中的表中的列。每一個字段都對應一個字段類型,例如整數、字符串、對象等。字段還能夠指定如何分析該字段的值。

    來源字段(source field)

    默認狀況下,你的原文檔將被存儲在_source這個字段中,當你查詢的時候也是返回這個字段。這容許您能夠從搜索結果中訪問原始的對象,這個對象返回一個精確的json字符串,這個對象不顯示索引分析後的其餘任何數據。

    主鍵(id)

    id是一個文件的惟一標識,若是在存庫的時候沒有提供id,系統會自動生成一個id,文檔的index/type/id必須是惟一的。

     secisland後續會逐步對Elasticsearch的最新版本的各項功能進行分析,近請期待。

相關文章
相關標籤/搜索