Miễn là bạn để lập chỉ mục / lập chỉ mục lại chạy riêng biệt với ứng dụng của mình, bạn sẽ gặp sự cố đồng bộ hóa. Tùy thuộc vào lĩnh vực công việc của bạn, đây có thể không phải là vấn đề, nhưng đối với nhiều ứng dụng người dùng đồng thời thì đó là vấn đề.
Chúng tôi đã gặp vấn đề tương tự khi chúng tôi có hệ thống công việc chạy lập chỉ mục không đồng bộ cứ sau vài phút. Người dùng sẽ tìm thấy một sản phẩm bằng cách sử dụng công cụ tìm kiếm, sau đó ngay cả khi người quản trị đã xóa sản phẩm khỏi ngăn xếp sản phẩm hợp lệ, họ vẫn tìm thấy sản phẩm đó trong giao diện người dùng, cho đến khi công việc lập chỉ mục tiếp theo chạy. Điều này dẫn đến các lỗi rất khó hiểu và hiếm khi có thể tái tạo được báo cáo cho bộ phận hỗ trợ cấp đầu tiên.
Chúng tôi đã thấy hai khả năng:Hoặc kết nối chặt chẽ logic nghiệp vụ với các bản cập nhật của chỉ mục tìm kiếm hoặc triển khai tác vụ cập nhật không đồng bộ chặt chẽ hơn. Chúng tôi đã làm phần sau.
Ở chế độ nền, có một lớp chạy trong một chuỗi chuyên dụng bên trong ứng dụng tomcat có chức năng cập nhật và chạy chúng song song. Thời gian chờ các bản cập nhật backoffice lên giao diện người dùng giảm xuống còn 0,5-2 giây, giúp giảm đáng kể các vấn đề đối với hỗ trợ cấp độ đầu tiên. Và, nó được kết hợp một cách lỏng lẻo nhất có thể, chúng tôi thậm chí có thể triển khai một công cụ lập chỉ mục khác.