2009-02-10 49 views
11

Tôi có một tập hợp lớn các tập tin (hdf) mà tôi cần cho phép tìm kiếm. Đối với Java, tôi sẽ sử dụng Lucene cho điều này, vì nó là một công cụ lập chỉ mục tệp và tài liệu. Tôi không biết những gì tương đương python sẽ được mặc dù.Lập chỉ mục và tìm kiếm tập tin Python

Có ai có thể đề xuất thư viện nào tôi nên sử dụng để lập chỉ mục một tập hợp lớn các tệp để tìm kiếm nhanh không? Hay là cách ưa thích để cuộn của riêng bạn?

Tôi đã xem pylucenelupy, nhưng cả hai dự án dường như khá không hoạt động và không được hỗ trợ, vì vậy tôi không chắc liệu có nên dựa vào chúng hay không.

Ghi chú cuối cùng: Woosh và pylucene có vẻ đầy hứa hẹn, nhưng woosh vẫn là alpha nên tôi không chắc chắn tôi muốn dựa vào nó và tôi gặp vấn đề khi biên dịch pylucene và không có bản phát hành thực sự nào. Sau khi tôi đã nhìn nhiều hơn một chút vào dữ liệu, nó chủ yếu là số và chuỗi văn bản mặc định, do đó, ngay bây giờ một công cụ lập chỉ mục sẽ không giúp tôi. Hy vọng rằng các thư viện này sẽ ổn định và sau đó du khách sẽ tìm thấy một số sử dụng cho họ.

Trả lời

9

Lupy has been retired và nhà phát triển đề xuất PyLucene thay thế. Đối với PyLucene, hoạt động danh sách gửi thư của nó có thể thấp, nhưng nó chắc chắn được hỗ trợ. Trên thực tế, nó gần đây đã trở thành một official apache subproject.

Bạn cũng có thể muốn xem một ứng cử viên mới: Whoosh. Nó tương tự như lucene, nhưng được thực hiện trong python tinh khiết.

5

tôi đã không thực hiện lập chỉ mục trước đó, tuy nhiên sau đây có thể hữu ích: -

  1. pyIndex - http://rgaucher.info/beta/pyIndex/ - File indexing thư viện cho Python
  2. http://www.xml.com/pub/a/ws/2003/05/13/email.html - Thats một kịch bản để tìm kiếm Outlook email sử dụng Python và Lucene
  3. http://gadfly.sourceforge.net/ - cơ sở dữ liệu ruồi trâu Aaron nước của (. tôi nghĩ rằng bạn có thể sử dụng cái này để lập chỉ mục đã không được sử dụng nó bản thân mình.)

Theo như sử dụng các tập tin HDF, tôi đã nghe nói về một mô-đun gọi là h5py.

Tôi hy vọng điều này sẽ hữu ích.

+0

Tôi có thể đọc các tập tin hdf5 tốt bằng cách sử dụng các pytables, tôi chỉ cần tìm đúng công cụ để lập chỉ mục thông tin tôi trích xuất. – Staale

+0

Tôi có ít kinh nghiệm trong khu vực. Vì bạn đã có thể đọc các tập tin hd5, tôi nghĩ rằng pyIndexer có thể làm việc cho bạn. Tôi có ít kinh nghiệm trong khu vực và tôi hy vọng dự án của bạn hoạt động tốt. – batbrat

4

Tôi muốn đề xuất Sphinx. Nó rất tích cực, có nhiều tính năng hơn và có vẻ nhanh hơn Lucene.

+0

Nhân sư là tuyệt vời, và IMHO, dễ cài đặt, cấu hình, vv, hơn pylucene. –

2

Một C++ phổ biến thông tin dựa thư viện hồi đó thường được sử dụng với Python là Xapian http://xapian.org/

Đó là cực kỳ nhanh chóng và vui vẻ có thể quản lý một lượng lớn dữ liệu, tuy nhiên nó không phải là khá dễ dàng mở rộng như Lucene.

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