2009-06-03 39 views
14

Điều này được thừa nhận là tương tự đến (nhưng không trùng lặp) Comparison of full text search engine - Lucene, Sphinx, Postgresql, MySQL?, tuy nhiên những gì tôi đang tìm kiếm là cụ thể, được hỗ trợ, khuyến nghị vì lợi ích của trải nghiệm với nhiều hơn một trong các hệ thống có sẵn (có vẻ như rất nhiều của: "Tôi đã sử dụng lucene, nhưng không phải nhân sư", và ngược lại).php mysql tìm kiếm toàn văn: lucene, sphinx, hoặc?

Thiết lập: LAMP chuẩn (Mysql 5.0, PHP 5).

MySQL: bảng đang sử dụng công cụ InnoDB cho các ràng buộc khóa ngoài

Chúng tôi đang xem xét lập chỉ mục dữ liệu, không phải trang. dữ liệu được lập chỉ mục có thể bằng nhiều ngôn ngữ (bộ mã utf-8)

Một số so sánh mà tôi đã gặp (như http://blog.evanweaver.com/articles/2008/03/17/rails-search-benchmarks/) hoặc là không hoàn toàn áp dụng được (chồn là một cổng lucene nhưng không giống Zend_Search_Lucene) hoặc họ đang đẩy hệ thống/triển khai của chính họ (không chính xác không thiên vị).

Một số người khác tôi đã gặp (chẳng hạn như http://whatstheplot.com/blog/tag/lucene/http://pagetracer.com/2008/02/15/sphinx-and-lucene-search-engines-first-impressions/) cung cấp các kết quả rất khác nhau về hiệu suất của hai hệ thống.

Ngoài ra, tất cả trừ những gì tôi đã đọc là Xapian. Điều này có đáng xem xét không?

Vì vậy, tôi hy vọng rằng một số bạn ở đây trên SO có một số kinh nghiệm với câu hỏi này và có thể giúp với một số khuyến nghị hoặc chỉ cho tôi đi đúng hướng.

Trả lời

9

Một lợi thế của Sphinx là bạn có thể "xen kẽ" giữa khách hàng và máy chủ MySQL, và nó sẽ chỉ "can thiệp" vào các truy vấn đặc biệt giải quyết nó, minh bạch đưa những người khác ra khỏi MySQL - xem ví dụ: this article. Cho dù đó là một lợi thế trong trường hợp sử dụng của bạn, tốt nhất bạn nên nói! Xin lỗi, không có kinh nghiệm thực tế với Xapian hoặc Lucene - vẫn còn, đọc về cách triển khai chúng, làm cho nó nghe như (với tôi!) Như thể nó có giá trị nó chỉ khi bạn xác định được những lợi thế đáng kể. Nếu không, triển khai "dễ dàng như chiếc bánh" của Sphinx, như một "proxy" giữa khách hàng của bạn và máy chủ MySQL của bạn, cảm thấy giống như một chiến thắng lớn, đáng kể đối với tôi!

+0

Nhân sư dường như có rất nhiều lợi thế, nhưng với điều đó lucene có một số người ủng hộ giọng hát, tôi hy vọng được nghe từ một số người có kinh nghiệm với cả hai –

+2

Cuối cùng tôi đã đi trước và thử nghiệm nhân sư với ý định thử nghiệm Lucene (và có lẽ Xapian) tuy nhiên, thành thật mà nói, nó tích hợp rất trơn tru với một thiết lập PHP/MySQL mà tôi thấy khó để biện minh cho việc dành thời gian cho những người khác. –

3

Tôi đã xem Zend_Search_Lucene và Sphinx cho một dự án nghe có vẻ tương tự - tìm kiếm nội dung cơ sở dữ liệu (trong trường hợp của tôi, thông tin sách). Tôi đã dành khoảng một ngày để xem xét từng cái. Đối với những gì nó có giá trị, tôi thấy Sphinx bao la dễ dàng hơn để thiết lập và sử dụng.

+0

+1 cảm ơn vì thông tin chi tiết. Tôi đã ngạc nhiên với Sphinx cho đến nay, nó đã làm cho việc tích hợp tìm kiếm dễ dàng hơn tôi mong đợi. Khi db có nhiều dữ liệu hơn, chúng ta sẽ có thể biết nhiều hơn. Tôi chưa thử hợp nhất chỉ mục delta, nhưng hy vọng chúng sẽ dễ triển khai khi chúng nhìn –

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