Java Lucene và tất cả các cổng của nó sang các ngôn ngữ khác, bao gồm Zend Lucene, đang tìm kiếm thư viện.
Điều này có nghĩa là để sử dụng Zend Lucene, bạn phải bọc nó trong mã (PHP) khác, sẽ tích hợp tìm kiếm với phần còn lại của ứng dụng của bạn. Mã này thường cần quản lý lập chỉ mục, truy xuất và thường là một số dịch vụ dọn phòng của Lucene. Bạn giao tiếp với Zend Lucene bằng cách sử dụng các cuộc gọi hàm PHP.
Solr, OTOH, là tìm kiếm máy chủ được xây dựng trên đầu trang của Lucene. Điều này có nghĩa là một cá thể Solr có thể chạy như một máy chủ webapp độc lập bên trong một thùng chứa servlet (Điều đó có thể là Tomcat, Jetty hoặc một trong một số chương trình khác như vậy). Việc thiết lập máy chủ Solr dễ dàng hơn nhiều so với ứng dụng Lucene. Bạn có thể làm rất nhiều với Solr mà không cần viết một dòng Java - chỉ bằng cách tinh chỉnh một số tệp cấu hình XML. Thiết lập máy chủ Solr có thể mất vài phút. Cách mặc định để giao tiếp với Solr là sử dụng các cuộc gọi HTTP.
Vì vậy, về cơ bản cài đặt Zend Lucene yêu cầu phải có máy chủ PHP và lập chỉ mục và truy xuất thích hợp bằng cách sử dụng thư viện PHP. Việc cài đặt Solr yêu cầu chạy một thùng chứa Java servlet và triển khai một tệp chiến tranh vào nó.
Về hiệu suất, Solr có nhiều bộ nhớ đệm Lucene và các thông số khác được tối ưu hóa. Ngoài ra, tôi tin rằng Zend Lucene là chậm hơn so với Java Lucene, vì vậy đặt cược của tôi là Solr sẽ nhanh hơn, nhưng điều này thực sự phụ thuộc vào ứng dụng cụ thể.
Nguồn
2010-06-14 18:16:41
Vâng, Zend Lucene không phù hợp với hiệu suất của Java. – demonkoryu