Nói một cách ngắn gọn: lập chỉ mục.
Lucene tạo một chỉ mục cho tài liệu của bạn để cho phép nó tìm kiếm nhanh hơn nhiều.
Đó là sự khác biệt giống nhau giữa cấu trúc dữ liệu danh sách O (N) và cấu trúc dữ liệu bảng băm O (1). Danh sách phải đi qua toàn bộ bộ sưu tập để tìm những gì bạn muốn. Bảng băm có một chỉ mục cho phép nó tìm ra chính xác vị trí của mục mong muốn và chỉ cần tìm nạp nó.
Cập nhật:
Tôi không chắc ý bạn là "Tìm kiếm chỉ mục Lucene nhanh hơn nhiều so với tìm kiếm chỉ mục mysql."
Tôi đoán là bạn đang sử dụng MySQL "WHERE tài liệu LIKE '% cụm từ%'" để tìm kiếm tài liệu. Nếu điều đó đúng, thì MySQL phải thực hiện quét bảng trên mọi hàng, hàng này sẽ là O (N).
Lucene có thể phân tích tài liệu thành các mã thông báo, nhóm chúng thành n-gam theo hướng của bạn và tính toán các chỉ số cho từng mã thông báo đó. Đó là O (1) để tìm một từ trong tài liệu Lucene được lập chỉ mục.