Đây là nhiều hơn một câu hỏi nghiên cứu - chúng tôi có một trang web đang gặp một số vấn đề thực sự với reindexing (30.000 sản phẩm). Bây giờ là lúc chúng ta gặp rất nhiều thời gian chờ và lỗi SQLSTATE - Lock wait timeout exceeded
- vì vậy việc có thể lưu các thay đổi trong bảng quản trị là điều không thường xuyên.
Chúng tôi đang cố gắng xác định xem các chỉ mục cho biết họ vẫn đang chạy có thực sự làm như vậy không. Chúng tôi reindexed thông qua dòng lệnh php indexer.php --reindexall
. Vài giờ sau, trong "Quản lý chỉ mục", Chỉ mục tìm kiếm vẫn cho biết Đang xử lý. Tất cả các chỉ mục khác đã kết thúc hoặc đang chờ xử lý nhưng không chạy. Vấn đề chính dường như là với các chỉ mục tìm kiếm.
Số lượng hàng trong catalogsearch_fulltext
bảng DB không thay đổi - đây có phải là dấu hiệu cho thấy Chỉ mục tìm kiếm không thực sự vẫn đang chạy?
Trong var/locks
thư mục, chúng tôi có các tệp sau:
index_process_1.lock
index_process_2.lock
index_process_3.lock
index_process_4.lock
index_process_5.lock
index_process_6.lock
index_process_7.lock
index_process_9.lock
Sự tồn tại của những tập tin này thực sự có ý nghĩa gì? Hiệu ứng nào sẽ xóa chúng có?
Để biết giá trị của chúng tôi, chúng tôi đang sử dụng mô-đun Mirasvit Advanced Search Pro sử dụng Sphinx. https://mirasvit.com/magento-extensions/magento-sphinx-search.html