ElasticSearch中的一些基本概念

    索引詞(term)

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

    文本(text)

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

    分析(analysis)

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

wKioL1awuJLRbqSdAAAwY15mUg0234.png

    集羣(cluster)

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

   節點(node)

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

    路由(routing)

    當存儲一個文檔的時候,他會存儲在一個唯一的主分片中,具體哪個分片是通過散列值的進行選擇。默認情況下,這個值是由文檔的id生成。如果文檔有一個指定的父文檔,從父文檔ID中生成,該值可以在存儲文檔的時候進行修改。

    分片(shard)

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

    主分片(primary shard)

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

    副本分片(replica shard)

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

    1、增加高可用性:當主分片失敗的時候,可以從副本分片中選擇一個作爲主分片。

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

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的最新版本的各項功能進行分析,近請期待。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章