2009-07-15 45 views
28

Tôi đã xem xét tìm kiếm các plugin/đá quý cho Rails. Hầu hết các bài báo so sánh Ferret (Lucene) với Ultrasphinx hoặc có thể là Think Sphinx, nhưng không ai nói về SearchLogic. Có ai có bất kỳ manh mối nào về cách mà người ta so sánh? Bạn sử dụng cái gì và nó hoạt động như thế nào?Tìm kiếm toàn văn bản với Rails

Trả lời

27
  • thinking_sphinx và nhân sư làm việc đẹp, không lập chỉ mục, truy vấn, cài đặt vấn đề bao giờ (5 hoặc 6 cài đặt, bao gồm slicehost sản xuất)

  • tại sao không phải ai cũng sử dụng nhân sư, giống như, nói craigslist? đọc ở đây về những hạn chế của nó (năm rưỡi bài viết cũ. Nhà phát triển nhân sư, Aksyonoff, đang làm việc trên những điều này và anh ta đưa vào các tính năng và độ tin cậy và dập ra lỗi với tốc độ đáng kinh ngạc)

http://codemonkey.ravelry.com/2008/01/09/sphinx-for-search/

http://www.ibm.com/developerworks/opensource/library/os-php-apachesolr/

Comparison of full text search engine - Lucene, Sphinx, Postgresql, MySQL?

  • chồn: dễ dàng cài đặt, không xuất phát đúng, rất s chỉ số thấp (một mysql db: sphinx: 3 giây, chồn: 50 phút). Vấn đề tài liệu tốt (chỉ số tham nhũng) trong các máy chủ DRB trong sản xuất dưới tải. Có nói rằng, tôi đã sử dụng nó trong develometn kể từ khi hành vi-as_ferret xuất hiện cách đây 3 năm, và nó đã phục vụ tôi tốt. Không tôn trọng việc đóng vai người gửi thư là một lợi thế trong một số ngữ cảnh.

  • Lucene và Solr là gorilla/mack truck/heavyweight của tìm kiếm nguồn mở.Các đội đã và đang thực hiện một số tính năng mới đầy ấn tượng trong solr 14 release:

  • hành vi-như-solr: hoạt động tốt, khi tomcat hoặc cầu cảng được đặt đúng chỗ, nhưng đôi khi đó là một cơn đau. Các A-A-S fork by mattmatt là ngã ba chính, nhưng dự án là tương đối unmaintained.

  • lại tomcat cài đặt: Solr/Lucene có nghi ngờ gì nữa các công cụ tìm kiếm nền tảng kiến ​​thức/hỗ trợ tốt nhất của bất kỳ gói phần mềm tôi đã nhìn thấy (tôi đoán tôi không phải là ngạc nhiên), hộp tìm kiếm ở đây:

http://www.lucidimagination.com/

  • Sunspot the new ruby ​​wrapper, xây dựng trên Solr-ruby. Có vẻ đầy hứa hẹn nhưng tôi không thể cài đặt trên OSX. Lập chỉ mục tất cả các đối tượng ruby, không chỉ cơ sở dữ liệu thông qua AR

  • một điều thực sự hữu ích là cài đặt 2 plugin tìm kiếm, ví dụ: sphinx và SOLR, nhân sư và chồn, và xem kết quả khác nhau mà họ quay trở lại. Đó là dễ dàng như @sphinx_results - @ferret_results


chỉ thấy bài đăng này và phản ứng

http://zooie.wordpress.com/2009/07/06/a-comparison-of-open-source-search-engines-and-indexing-twitter/

http://www.jroller.com/otis/entry/open_source_search_engine_benchmark

http://www.flax.co.uk/blog/2009/07/07/xapian-compared/

3

Tôi chưa sử dụng SearchLogic nhưng tôi có thể cho bạn biết rằng Lucene là một dự án rất trưởng thành, có triển khai bằng nhiều ngôn ngữ. Nó nhanh và linh hoạt và API rất thú vị để làm việc. Đó là một đặt cược tốt.

5

SearchLogic là một plugin tốt, nhưng thực sự có nghĩa là làm cho mã tìm kiếm của bạn dễ đọc hơn, nó không cung cấp chỉ mục tự động mà Sphinx làm. Tôi đã không sử dụng Ferret, nhưng Sphinx là cực kỳ mạnh mẽ.

http://railscasts.com/episodes/120-thinking-sphinx

Giới thiệu tuyệt vời để xem mức độ linh hoạt của nó.

18

Trước hết, sự thiên vị rõ ràng của tôi: Tôi đã tạo và duy trì tư duy Nhân sư.

Khi điều đó xảy ra, tôi thực sự thấy Ben Johnson (tác giả của SearchLogic) có mặt tại NYC ruby ​​gặp nhau về đêm qua. SearchLogic chỉ là SQL - vì vậy nếu bạn không giao dịch với các bảng lớn, và thứ hạng liên quan là không cần thiết, thì đó có thể chính xác là những gì bạn đang tìm kiếm. Cú pháp cũng khá sạch sẽ.

Tuy nhiên, nếu bạn muốn tất cả thông tin truy vấn được xử lý bằng mã không phải của riêng bạn, thì Sphinx hoặc Solr (đó là Lucene dưới mui xe, tôi nghĩ) có thể sẽ hoạt động tốt hơn.

1

Cá nhân, tôi không bận tâm đến việc sử dụng cơ sở dữ liệu agnostics cho các ứng dụng web và khá hài lòng khi sử dụng tìm kiếm văn bản đầy đủ trong pg83. Lợi ích là, nếu và khi bạn thay đổi khung/ngôn ngữ của mình, bạn sẽ vẫn có tìm kiếm toàn văn.

3

Với câu hỏi này vẫn được xếp hạng cao tại goo gle cho tìm kiếm văn bản đầy đủ, tôi thực sự muốn nói rằng Sunspot thậm chí còn mạnh hơn hôm nay nếu bạn quan tâm đến việc thêm khả năng tìm kiếm văn bản đầy đủ vào ứng dụng Rails của bạn (và muốn có Solr phía sau bạn cho điều đó). Bạn có thể xem hướng dẫn đầy đủ về số điện thoại here này.

Và trong khi chúng tôi đang ở đó, một ứng cử viên khác đã đến lĩnh vực này là ElasticSearch, nhằm mục đích là một công cụ tìm kiếm toàn văn bản thời gian thực được xây dựng trên đầu trang của Lucene (nhưng làm việc khác khi so sánh với Solr). ElasticSearch bao gồm việc giải mã và sao chép nhiều nút, tìm kiếm thời gian thực nhanh hơn, "percolators" để cho phép bạn nhận thông báo khi có điều gì đó phù hợp với tiêu chí của bạn và nó hoạt động rất nhanh với nhiều tính năng khác. Thật dễ dàng để xây dựng một cái gì đó trên đầu trang của nó, vì API chết đơn giản và hoàn toàn dựa trên REST sử dụng JSON như một định dạng. Người ta có thể nói rằng bạn thậm chí không cần một plugin để sử dụng nó.

0

Đối với bất kỳ ai đang tìm kiếm đá quý tìm kiếm đơn giản mà không có bất kỳ phụ thuộc nào, hãy xem acts_as_indexed

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