Trình lập chỉ mục của tôi, sử dụng Lucene, dường như bị lỗi trong quá trình lập chỉ mục sau khi ghi một tệp chỉ mục có kích thước khoảng 16GB.Lucene.net - Sự cố khi lập chỉ mục
Dấu vết ngăn xếp được ghi vào bảng điều khiển được lặp lại ba lần vì lý do tôi không biết. Trong ngắn gọn, tôi chỉ cung cấp một phần duy nhất được lặp lại. Dưới đây là stack trace như ghi vào conolse bởi Lucene:
Lucene.Net.Index.MergePolicy+MergeException: Exception of type 'Lucene.Net.Index.MergePolicy+MergeException' was thrown. --->
System.IO.FileNotFoundException: Could not find file 'PATH_TO_MY_INDEX_DIRECTORY\_xx.cfs'.
File name: 'PATH_TO_MY_INDEX_DIRECTORY\_xx.cfs'
at Lucene.Net.Index.IndexWriter.HandleMergeException(Exception t, OneMerge merge)
at Lucene.Net.Index.IndexWriter.Merge(OneMerge merge)
at Lucene.Net.Index.ConcurrentMergeScheduler.MergeThread.Run()
--- End of inner exception stack trace ---
at Lucene.Net.Index.ConcurrentMergeScheduler.HandleMergeException(Exception exc)
at Lucene.Net.Index.ConcurrentMergeScheduler.MergeThread.Run()
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.ThreadHelper.ThreadStart()
Khi tôi mở nhật ký được tạo ra với phiên bản Java của Luke chỉ số này sẽ bị xóa (có lẽ vì nó bị hỏng, các "write.lock" tập tin vẫn còn, ví dụ), mặc dù đây có thể là lỗi hoặc cấu hình sai của Luke.
Tạo chỉ mục này mất khoảng 36 giờ và tôi không muốn phải thực hiện lại lần thứ ba (đây không phải là lần đầu tiên điều này xảy ra).
Tôi không biết điều gì gây ra điều này. Tôi có thể làm gì?
Tôi đang sử dụng Lucene.net 2.9.2 vì đây là phiên bản cuối cùng được tạo cho .NET 3.5.
bạn có đang lập chỉ mục cho một ổ đĩa cục bộ không? –
Vâng, đó là một ổ đĩa địa phương. Không có quy trình nào khác sử dụng các tệp chỉ mục hoặc chương trình lập chỉ mục của tôi có một cá thể IndexWriter duy nhất. – Dai
một lý do có thể cho điều này trong java lucene là bạn chạy ra khỏi tập tin xử lý, tôi không chắc chắn nó áp dụng cho Lucene.net tho –