索引設定
索引設定是適用於單個索引的設定。這樣的設定將從 index.
開始。該規則的例外是 number_of_shards
和 number_of_replicas
,它們也以 index.number_of_shards
和 index.number_of_replicas
的形式存在。
顧名思義,索引級設定適用於單個索引。某些設定必須在建立時應用,因為它們無法動態更改,例如 index.number_of_shards
設定,它控制索引的主分片數。
PUT /my_index
{
"settings": {
"index.number_of_shards": 1,
"index.number_of_replicas": 1
}
}
或者,以更簡潔的格式,你可以在每個 .
中組合鍵字首:
PUT /my_index
{
"settings": {
"index": {
"number_of_shards": 1,
"number_of_replicas": 1
}
}
}
以上示例將使用提供的設定建立索引。你可以使用索引 _settings
端點動態更改每個索引的設定。例如,在這裡我們動態地改變 slowlog 設定為只在警告級別:
PUT /my_index/_settings
{
"index": {
"indexing.slowlog.threshold.index.warn": "1s",
"search.slowlog.threshold": {
"fetch.warn": "500ms",
"query.warn": "2s"
}
}
}
警告 :Elasticsearch 1.x 和 2.x 沒有非常嚴格地驗證索引級別的設定名稱。如果你有一個拼寫錯誤,或者只是簡單地設定了一個設定,那麼它會盲目地接受它,但是否則會忽略它。Elasticsearch 5.x 嚴格驗證設定名稱,它將拒絕任何嘗試使用未知設定應用索引設定(由於拼寫錯誤或缺少外掛)。這兩個語句都適用於動態更改索引設定和建立時。