Tôi đang cố xóa tài liệu bằng cách sử dụng zend lucene. Sau đây là mã của tôiZend Lucene Xóa tài liệu số
$index = Zend_Search_Lucene::open('data/index');
foreach ($index->find('pk:' . $this->getId()) as $hit) {
$index->delete($hit->id);
}
$index->commit();
Khi tôi chạy này và kiểm tra thư mục chỉ số của tôi có một tập tin mới được tạo ra như _f4t5_1.del này
Nhưng khi tôi thực hiện tìm kiếm, các file cần phục có sẵn trong tìm kiếm và cũng đã kiểm tra
$ index-> numDocs();
Phương thức này cũng trả về cùng một số trước và sau khi xóa.
Mọi trợ giúp đều được đánh giá cao.
Tôi đã thử tối ưu hóa chỉ mục. Khi tối ưu hóa nó đã xóa các tệp như với phần mở rộng .del nhưng khi tìm kiếm chỉ mục, các tài liệu đã xóa cũng được trả lại trong kết quả tìm kiếm. –
Tại sao không lặp lại và sử dụng '$ index-> isDeleted ($ id)' để xóa tài liệu đã xóa khỏi kết quả tìm kiếm. – JSuar