Tôi mới sử dụng Lucene.NET nhưng tôi đang sử dụng an open source tool được xây dựng cho Sitecore CMS sử dụng Lucene.NET để lập chỉ mục nhiều nội dung từ CMS. Hôm qua tôi đã xác nhận rằng khi tôi xây dựng lại các chỉ mục của mình, các tệp chỉ mục hiện tại sẽ xóa sạch để mọi thứ dựa vào chỉ mục không có dữ liệu trong khoảng 30-60 giây (lượng thời gian để xây dựng lại chỉ mục đầy đủ). Có cách nào hay nhất để làm cho Lucene.NET không ghi đè lên các tệp chỉ mục hiện tại cho đến khi chỉ mục mới được xây dựng lại hoàn toàn? Tôi về cơ bản nghĩ rằng tôi muốn nó để ghi vào các tập tin chỉ mục tạm thời mới và khi xây dựng lại được thực hiện có những tập tin ghi đè lên chỉ mục hiện tại.Tránh xóa chỉ mục Lucene.NET hiện tại trong khi xây dựng lại
Ví dụ về những gì tôi đang nói về:
- Build index tươi (~ 30 giây)
- Index có khoảng 500 tài liệu
- Sử dụng mã truy cập dữ liệu trong chỉ số và hiển thị trên trang web
- Chỉ mục xây dựng lại (~ 30 giây)
- Bất kỳ mã nào bây giờ đọc chỉ mục để trả về dữ liệu không có gì vì tệp chỉ mục bị ghi đè n; kết quả trong trang web không hiển thị bất kỳ dữ liệu
- Rebuild hoàn chỉnh: Dữ liệu bây giờ đã có một lần nữa, dữ liệu trở lại trên trang web
Cảm ơn trước
Bạn có thể mở một chỉ mục trong chế độ nối thêm, trong trường hợp đó chỉ mục hiện tại của bạn vẫn có sẵn cho đến khi bạn tuôn ra hoặc cam kết ghi mới. – Mikos