1. 程式人生 > >elasticsearch設定之setting、mapping相關

elasticsearch設定之setting、mapping相關

一、setting相關
1.靜態設定:只能在索引建立時或在狀態為 closed index(閉合索引)上設定

引數 說明
index.number_of_shards 主分片數,預設為5.只能在建立索引時設定,不能修改
index.shard.check_on_startup 是否應在索引開啟前檢查分片是否損壞,當檢查到分片損壞將禁止分片被開啟。false:預設值;checksum:檢查物理損壞;true:檢查物理和邏輯損壞,這將消耗大量記憶體和CPU;fix:檢查物理和邏輯損壞。有損壞的分片將被叢集自動刪除,這可能導致資料丟失
index.routing_partition_size 自定義路由值可以轉發的目的分片數。預設為 1,只能在索引建立時設定。此值必須小於index.number_of_shards
index.codec 預設使用LZ4壓縮方式儲存資料,也可以設定為 best_compression,它使用 DEFLATE 方式以犧牲欄位儲存效能為代價來獲得更高的壓縮比例

2.動態設定

引數 說明
index.number_of_replicas 每個主分片的副本數。預設為 1。
index.auto_expand_replicas 基於可用節點的數量自動分配副本數量,預設為 false(即禁用此功能)
index.refresh_interval 執行重新整理操作的頻率,這使得索引的最近更改可以被搜尋。預設為 1s。可以設定為 -1 以禁用重新整理。
index.max_result_window 用於索引搜尋的 from+size 的最大值。預設為 10000
index.max_rescore_window 在搜尋此索引中 rescore 的 window_size 的最大值
index.blocks.read_only 設定為 true 使索引和索引元資料為只讀,false 為允許寫入和元資料更改。
index.blocks.read 設定為 true 可禁用對索引的讀取操作
index.blocks.write 設定為 true 可禁用對索引的寫入操作
index.blocks.metadata 設定為 true 可禁用對索引元資料的讀取和寫入
index.max_refresh_listeners 索引的每個分片上可用的最大重新整理偵聽器數

二、mapping相關
1.基本資料型別

型別 說明
字串型別 string,text,keyword
整數型別 integer,long,short,byte
浮點型別 double,float,half_float,scaled_float
邏輯型別 boolean
日期型別 date
範圍型別 range
二進位制型別 binary

2.字串型別
(1)string
string型別在ElasticSearch 舊版本中使用較多,從ElasticSearch 5.x開始不再支援string,由text和keyword型別替代。
(2)text
當一個欄位是要被全文搜尋的,比如Email內容、產品描述,應該使用text型別。設定text型別以後,欄位內容會被分析,在生成倒排索引以前,字串會被分析器分成一個一個詞項。text型別的欄位不用於排序,很少用於聚合。
(3)keyword
keyword型別適用於索引結構化的欄位,比如email地址、主機名、狀態碼和標籤。如果欄位需要進行過濾(比如查詢已釋出部落格中status屬性為published的文章)、排序、聚合。keyword型別的欄位只能通過精確值搜尋到。

3.字串型別可接受引數
在這裡插入圖片描述
三、analysis相關