索引設置(分片、副本)
由於Elasticsearch單詞過長,因此以後在不是特別強調的場合全部採用ES來稱呼。
在ES中要想存儲數據,則需要建立索引和類型(7.X版本中移除了,默認爲_doc),同時爲了保證索引數據高可用、高性能,需要設置分片和副本。採用的HTTP請求(請求方式爲PUT
),請求體參數爲JSON格式的方式來創建索引,同時設置分片數和副本數。
請求路徑
PUT /my_temp_index
/my_temp_index
代表該索引的名稱,這個路徑在不通的功能下其路徑也是不一樣的。注意請求符合RESTful風格,並且某些路徑是必須符合ES的固定格式。
請求體參數
JSON格式的字符串是必須符合ES的特定的語法的,稱之爲領域特定語言,英文簡稱DSL
。該請求體中有兩個重要的設置:
number_of_shards
每個索引的主分片數,默認值是 5
。這個配置在索引創建後不能修改。
number_of_replicas
每個主分片的副本數,默認值是 1
。對於活動的索引庫,這個配置可以隨時修改。
// 完整的創建方式
PUT /my_temp_index
{
"settings": {
"number_of_shards" : 5,
"number_of_replicas" : 1
}
}
然後,我們可以用 update-index-settings
API 動態修改副本數(注意請求路徑的_settings
,這個是ES修改設置的固定格式):
PUT /my_temp_index/_settings
{
"number_of_replicas": 1
}