Index template áp mapping và settings tự động cho index khớp pattern, nên index sinh theo ngày không bị rơi vào dynamic mapping.
json
PUT /_index_template/logs
{
"index_patterns": ["logs-*"],
"template": {
"settings": { "number_of_shards": 2, "index.lifecycle.name": "logs-policy" },
"mappings": { "dynamic": "strict", "properties": { ... } }
}
}ILM lo vòng đời sau đó: rollover khi index đủ lớn hoặc đủ già, chuyển sang node rẻ hơn, rồi xoá.
text
hot -> rollover khi 50GB hoac 7 ngay
warm -> sau 30 ngay, giam replica, forcemerge
cold -> sau 90 ngay, chuyen sang node HDD
delete-> sau 365 ngayĐây là cách chuẩn cho log và metric: không có ILM thì xoá dữ liệu cũ phải làm tay, và delete_by_query trên hàng trăm triệu document rất đắt trong khi xoá nguyên một index thì gần như tức thì.
Với dữ liệu time-series, dùng data stream thay vì tự quản index — nó gói sẵn rollover và alias write.