2010-10-15 36 views
17

Khi tôi xóa file index Solr của trên đĩa, (tìm thấy trong /solr/data/indexsolr/data/spellchecker), Solr ném một ngoại lệ bất cứ khi nào tôi cố gắng để tạo ra một yêu cầu với nó:Cách khôi phục từ các tệp chỉ mục đã xóa của Solr?

java.lang.RuntimeException: java.io.FileNotFoundException : không có phân đoạn file * tìm thấy trong [email protected]/.../solr/data/index:

cách duy nhất tôi đã tìm thấy để phục hồi từ này là “hạt giống” các data thư mục với các tệp chỉ mục từ nơi khác. Nó không thực sự quan trọng nơi nó có vẻ. Khi tôi thực hiện việc này, tôi có thể chạy truy vấn để tải lại giản đồ và tạo lại chỉ mục. Đây có phải là cách làm việc này không? Nó có vẻ như có một cách để nói với solr để tái tạo những tập tin đó từ đầu. Có lẽ tôi chỉ nhầm lẫn với giả định của tôi rằng những tập tin này không phải là một phần của bản thân ứng dụng (loại ngụ ý bởi tên “dữ liệu”)?

Trả lời

48

Solr sẽ ném ngoại lệ đó khi khởi động nếu thư mục index tồn tại nhưng trống. Tuy nhiên nếu bạn xóa thư mục, Solr sẽ tạo thư mục đó và các tệp phân đoạn trống khi khởi động.

+1

Đây là vấn đề của tôi, chỉ cần lưu ý cho người khác, tôi đã phải 1) Dừng solr, 2) xóa thư mục, 3) bắt đầu solr. Khi tôi đã có solr chạy và xóa thư mục và cố gắng để buộc một chỉ mục nó vẫn sẽ thất bại. Cảm ơn sự giúp đỡ =] –

+0

Đây chắc chắn là giải pháp! Nắm bắt tốt :] – tfont

0

Nếu bạn đang sử dụng solsp vết đen trên đường ray, điểm mặt trời có thể kết nối lại tất cả dữ liệu từ cơ sở dữ liệu vào solr. Tuy nhiên, solr độc lập sẽ không biết nơi để kéo dữ liệu vào reindex. Bạn sẽ cần một bản sao lưu dữ liệu.

0

Sự cố có thể nằm trong tệp phân đoạn nếu bạn xóa chỉ mục. các tập tin được thể chất bị xóa nhưng có mặt trong ram hoặc bộ nhớ cache của solr. Tránh xóa các tập tin trực tiếp từ các tập tin chỉ mục solr. sử dụng truy vấn xóa để xóa chỉ mục, làm điều này sẽ làm thay đổi các phân đoạn của các chỉ số và bạn sẽ không phải khởi động lại Solr

liên quan

Rajat

0

Exception FileNotFoundException tín hiệu rằng một nỗ lực để mở file được biểu thị bằng một tên đường dẫn đã chỉ định không thành công. Vì vậy, chỉ mục của bạn không hợp lệ hoặc bị hỏng.

NIOFSDirectory lớp được sử dụng để đọc và ghi tệp chỉ mục. Thư mục được tạo tại vị trí được đặt tên nếu nó chưa tồn tại.

Vì vậy, bạn nên có lẽ:

  1. Xóa thư mục index hoặc khôi phục dữ liệu từ bản sao lưu.
  2. Khởi động lại máy chủ (hoặc ít nhất tải lại cấu hình).
Các vấn đề liên quan