金融公司網站建設企業(yè)網站推廣有哪些方式
目錄
- 一、路由計算
- 1.1、路由計算的前提理解
- 1.2、路由計算的概述
- 1.3、路由計算的概述
一、路由計算
1.1、路由計算的前提理解
- 當索引一個文檔的時候,文檔會被存儲到一個主分片中。
- Elasticsearch 如何知道一個文檔應該存放到哪個分片中呢?當我們創(chuàng)建文檔時,它如何決定這個文檔應當被存儲在分片1 還是分片 2 中呢?
- 首先這肯定不會是隨機的,否則將來要獲取文檔的時候我們就不知道從何處尋找了。
1.2、路由計算的概述
- 圖解
1.3、路由計算的概述
-
創(chuàng)建文檔時,這個文檔應當被存儲在哪個分片,這個過程是根據下面這個公式決定的:
路由計算公式: shard = hash(routing) % number_of_primary_shards
-
路由計算公式參數解釋
路由計算公式參數 解釋 hash hash 函數 routing 是一個可變值,默認是文檔的 _id,也可以設置成一個自定義的值。 number_of_primary_shards 主分片的數量 shard 分布在 0 到 number_of_primary_shards-1 之間的余數,就是我們所尋求的文檔所在分片的位置。 -
這就解釋了為什么我們要在創(chuàng)建索引的時候就確定好主分片的數量 并且永遠不會改變這個數量:因為如果數量變化了,那么所有之前路由的值都會無效,文檔也再也找不到了。