2010-09-27 38 views
11

tôi cần phải truy cập vào một chỉ số Lucene (tạo ra bởi bò nhiều trang web sử dụng Nutch) nhưng nó là đưa ra các lỗi hiển thị ở trên:có phân đoạn file * tìm thấy

java.io.FileNotFoundException: no segments* file found in [email protected]/home/<path>: files: 
    at org.apache.lucene.index.SegmentInfos$FindSegmentsFile.run(SegmentInfos.java:516) 
    at org.apache.lucene.index.IndexReader.open(IndexReader.java:185) 
    at org.apache.lucene.index.IndexReader.open(IndexReader.java:148) 
    at DictionaryGenerator.generateDict(DictionaryGenerator.java:24) 
    at DictionaryGenerator.main(DictionaryGenerator.java:56) 

Tôi googled nhưng lý do đưa ra không phù hợp với các yêu cầu. Thực tế là các tệp đang được hiển thị (đường dẫn) có thể có nghĩa là thư mục không trống.
Cảm ơn

Trả lời

7

Về cơ bản, thông báo lỗi cho biết Lucene không tìm thấy tệp thích hợp trong thư mục chỉ mục. Tôi khuyên bạn nên kiểm tra những điều sau:

  1. Xác minh đường dẫn của thư mục chỉ mục phù hợp với ý tưởng của bạn.
  2. Phiên bản Nutch và Lucene có được sử dụng không? Điều này có thể xuất phát từ sự khác biệt phiên bản.
  3. Có vấn đề về quyền không? Bạn có thể đọc các tập tin trong thư mục?
  4. Hãy thử xem chỉ mục bằng cách sử dụng Luke. Nếu bạn không thể, có lẽ một số tham nhũng trong chỉ mục.

Nếu tất cả những điều này không giúp được, vui lòng đăng phần lập chỉ mục của mã.

+0

Tôi đã làm tất cả trong số họ ngoại trừ các phiên bản Nutch và Lucene. Tôi không biết rằng có sự tương thích giữa Lucene và Nutch. Nếu nó giúp, phiên bản lucene là 2.2. Tôi có thể truy cập các tập tin. Infact, tôi đang chạy chương trình java trong cùng thư mục với chỉ mục. Ngoài ra, tôi đã kiểm tra chỉ số bằng cách sử dụng Luke và nó chắc chắn là tốt. Ngoài ra, điều là tôi chỉ trở thành một phần của dự án. Chỉ mục là kết quả của việc thu thập dữ liệu mở rộng của Nutch. Vì vậy, tôi không có bất kỳ mã lập chỉ mục nào. Nó chỉ là một thu thập dữ liệu. Nhưng tôi vẫn sẽ cố gắng tìm ra bức tranh chính xác. – crazyaboutliv

+0

Một điều tôi đã quan sát là phiên bản mới hơn của Nutch (1.1) tạo ra 5 thư mục sau khi thu thập thông tin trong khi dữ liệu mà tôi chỉ có 4 (trong đó phân đoạn là một) thư mục. Đó có phải là vấn đề không? – crazyaboutliv

+0

Giống như Yuval đã nói, hãy chắc chắn rằng chương trình Java mà bạn sử dụng để đọc chỉ mục sử dụng cùng một phiên bản của Lucene mà Nutch đã sử dụng để tạo chỉ mục. –

15

Một gợi ý khác, vì tôi đã gặp lỗi tương tự và thấy rằng sau khi tạo chỉ mục, tôi đã không đóng IndexWriter và nó tỏ ra rất không tiện lợi. Trong thư mục chỉ mục của tôi, tôi có một số tệp .lock và không có phân đoạn hoặc phân đoạn nào. Các tệp mà Reader đang tìm kiếm. Xem here # 3 để biết chi tiết

+0

Chỉ dành cho những người đang tự hỏi (như tôi đã làm): Ngay cả khi bạn đóng IndexWriter, tệp 'write.lock' sẽ vẫn tồn tại trong thư mục của bạn. Vì vậy, không quan tâm nếu tập tin này không bị xóa. – Munchkin

+0

Điều này giải quyết nó cho tôi, cảm ơn. – Harry

Các vấn đề liên quan