Segment immutable — ghi xong không sửa được. Mỗi refresh tạo segment mới, và Lucene chạy merge nền để gộp segment nhỏ lại.
Ba hệ quả vận hành:
1. Update = delete + reindex cả document. Không có update tại chỗ. Document cũ chỉ bị đánh dấu deleted, dung lượng chỉ được trả lại sau khi merge. Index update nhiều sẽ phình hơn dữ liệu thật khá nhiều.
2. Nhiều segment nhỏ làm search chậm, vì mỗi query phải quét qua mọi segment. Đây là lý do refresh=true sau mỗi lần ghi rất hại.
3. Merge tốn I/O và CPU, và nó chạy đúng lúc đang ghi nhiều nhất.
GET /products/_segments # xem so segment, so doc deleted
POST /products/_forcemerge?max_num_segments=1 # CHI cho index read-only_forcemerge trên index đang ghi là sai lầm tốn kém: nó tạo ra segment khổng lồ mà merge nền sau đó không đụng tới được, và giữ document deleted rất lâu.