Sự khác biệt giữa solr và lucene


163

Tôi biết rằng Lucene và Solr là hai dự án Apache khác nhau được tạo ra để làm việc cùng nhau, nhưng tôi không hiểu mục tiêu của mỗi dự án là gì.

Đối với những gì tôi hiểu cho đến bây giờ là Lucene được sử dụng để tạo chỉ mục tìm kiếm và Solr sử dụng chỉ mục này để thực hiện tìm kiếm. Tôi đúng hay đây là một cách tiếp cận hoàn toàn khác?


5
Không phải lucene.apache.org/solr (và trang tương đương cho Lucene) trả lời điều đó sao?
NPE

Vâng bạn đúng, trang tính năng solr làm rõ sự khác biệt. Si Nếu tôi hiểu tôi có thể sử dụng Lucene một mình, nhưng Solr cần Lucene để làm việc.
darkheir

2
Không giống như Lucene, Solr là một ứng dụng web (WAR) có thể được triển khai trong bất kỳ thùng chứa servlet nào, ví dụ Jetty, Tomcat, Resin, v.v. Solr có thể được cài đặt và sử dụng bởi những người không lập trình. Lucene không thể. Thông tin thêm về lucenetutorial.com/lucene-vs-solr.html
May mắn

Câu trả lời:


229

@darkheir: Lucene và Solr là hai dự án Apache khác nhau được tạo ra để làm việc cùng nhau, tôi không hiểu mục tiêu của mỗi dự án là gì.

1) Solr sử dụng Lucene dưới mui xe. Lucene không có manh mối về API Solr.

2) Lucene là một khung công cụ tìm kiếm mạnh mẽ cho phép chúng tôi thêm khả năng tìm kiếm vào ứng dụng của mình. Nó hiển thị API dễ sử dụng trong khi ẩn tất cả các hoạt động phức tạp liên quan đến tìm kiếm. Bất kỳ ứng dụng nào cũng có thể sử dụng thư viện này, không chỉ Solr.

3) Solr được xây dựng xung quanh Lucene. Nó không chỉ là một trình bao bọc http xung quanh Lucene mà còn được biết là bổ sung thêm kho vũ khí cho Lucene . Solr đã sẵn sàng để sử dụng ngoài hộp. Đây là một ứng dụng web cung cấp cơ sở hạ tầng liên quan và nhiều tính năng khác ngoài những gì Lucene cung cấp.

@darkheir: Lucene được sử dụng để tạo chỉ mục tìm kiếm và Solr sử dụng chỉ mục này để thực hiện tìm kiếm. Tôi đúng hay đây là một cách tiếp cận hoàn toàn khác?

4) Lucene không chỉ tạo Chỉ số cho mức tiêu thụ của Solr . Lucene xử lý tất cả các hoạt động liên quan đến tìm kiếm. Bất kỳ ứng dụng nào cũng có thể sử dụng khung Lucene.

Ví dụ như Solr, Tìm kiếm đàn hồi, LinkedIn (vâng, dưới mui xe), v.v.

Kiểm tra bài viết này: Lucene vs Solr

CẬP NHẬT (ngày 18 tháng 6 năm 14)

Khi nào nên sử dụng Lucene?

  • Bạn là một kỹ sư tìm kiếm VÀ
  • Bạn là một lập trình viên VÀ
  • Bạn muốn toàn quyền kiểm soát gần như tất cả các phần bên trong của Lucene VÀ
  • Yêu cầu của bạn yêu cầu bạn thực hiện tất cả các loại tùy chỉnh táo bạo cho Lucene VÀ
  • Bạn sẵn sàng chăm sóc các yếu tố cơ sở hạ tầng của tìm kiếm của bạn như chia tỷ lệ, phân phối, v.v.

Khi nào nên sử dụng Solr?

  • Ít nhất một trong những điều trên không có ý nghĩa. HOẶC LÀ
  • Bạn muốn một cái gì đó sẵn sàng để sử dụng ngoài luồng (ngay cả khi không có kiến ​​thức về Java) HOẶC
  • Yêu cầu cơ sở hạ tầng của bạn lớn hơn yêu cầu tùy chỉnh tìm kiếm.

LƯU Ý : Tôi không có nghĩa là Solr khó tùy chỉnh. Solr rất linh hoạt và cung cấp rất nhiều điểm API có thể cắm, cho phép bạn gửi mã của mình.

Có những người, thuộc phe ' phải sử dụng trại của Lucene , nhưng vẫn thích Solr hơn Lucene vì nó dễ sử dụng. Tuy nhiên, họ không bao giờ kiềm chế bản thân khỏi việc tùy chỉnh Solr đến mức tối đa.

BTW, tôi thấy rằng có nhiều tài nguyên trên Solr (4.x) hơn Lucene (4.x).


31

Lucene là một thư viện Java cấp thấp (có các cổng tới .NET, v.v.) thực hiện lập chỉ mục, phân tích, tìm kiếm, v.v.

Solr là một sản phẩm / ứng dụng web được cấu hình sẵn độc lập sử dụng Lucene. Nếu bạn thích giao dịch với API HTTP thay vì API Java, Solr là dành cho bạn. Solr cũng đã có một số tính năng bổ sung trên đầu (ví dụ: nhóm ).


21

Một cách đơn giản để khái niệm hóa mối quan hệ giữa Solr và Lucene là một chiếc xe hơi và động cơ của nó. Bạn không thể lái một động cơ, nhưng bạn có thể lái một chiếc xe hơi. Tương tự, Lucene là một thư viện lập trình mà bạn không thể sử dụng nguyên trạng, trong khi Solr là một ứng dụng hoàn chỉnh mà bạn có thể sử dụng ngoài hộp.

Nguồn: Lucene-vs-solr - Hướng dẫn Lucene


5
Được sao chép-dán từ lucenetutorial.com/lucene-vs-solr.html Vui lòng đề cập đến nguồn bất cứ khi nào bạn sao chép câu trả lời trích dẫn nguồn. ;)
May mắn

1
Trang dường như đang ngoại tuyến.
dev_feed

15

Solr được xây dựng trên đỉnh lucene để cung cấp nền tảng tìm kiếm.

Nền tảng tìm kiếm trong các lớp sau từ dưới lên trên:

  • Dữ liệu
    • Mục đích: Thể hiện các loại dữ liệu và nguồn khác nhau
  • Xây dựng tài liệu
    • Mục đích: Xây dựng thông tin tài liệu để lập chỉ mục
  • Lập chỉ mục và tìm kiếm
    • Mục đích: Xây dựng và truy vấn một chỉ mục tài liệu
  • Tăng cường logic
    • Mục đích: Logic bổ sung để xử lý các truy vấn và kết quả tìm kiếm
  • Dịch vụ nền tảng tìm kiếm
    • Mục đích: Thêm các chức năng bổ sung của lõi công cụ tìm kiếm để cung cấp nền tảng dịch vụ.
  • Ứng dụng giao diện người dùng
    • Mục đích: Giao diện hoặc ứng dụng tìm kiếm của người dùng cuối

ngăn xếp solr

Bài viết tham khảo: Tìm kiếm doanh nghiệp


12

SOLR là một gói trên chỉ số Lucene.

Rất đơn giản để hiểu: SOLR là xe hơi và Lucene là động cơ của nó . Bạn chỉ cần biết cách lái xe ô tô (SOLR) và cũng cần biết một vài điều về động cơ (Lucene) trong trường hợp nếu có bất kỳ vấn đề nào trong động cơ xe của bạn.

Có một ổ đĩa an toàn :)


3
Chưa kể rằng nếu bạn rất có khuynh hướng, bạn có thể tự chế tạo chiếc xe của mình bằng động cơ Lucene.
gợi ý

1

Bạn có thể tưởng tượng nó theo cách sau - Apache Lucene là thư viện được sử dụng bởi Apache Solr. Nó được viết bằng Java và cung cấp khả năng tìm kiếm và lập chỉ mục toàn văn tuyệt vời. Nó có thể phân tích một số lượng lớn các ngôn ngữ từ khắp nơi trên thế giới và chuẩn bị văn bản bằng các ngôn ngữ đó để tìm kiếm và phân tích hiệu quả và nhanh chóng. Lucene là một thư viện - bạn có thể sử dụng nó trực tiếp trong ứng dụng của mình và tự mình thực hiện mọi thứ, nhưng Apache Solr cung cấp rất nhiều thứ.

Công cụ tìm kiếm Apache Solr cung cấp những thứ như API HTTP mà bạn có thể sử dụng để gửi dữ liệu đến chúng và sau đó tìm kiếm trên dữ liệu đó. Bạn có thể kiểm soát các công cụ tìm kiếm bằng API, tạo môi trường phân tán và tự động phân phối dữ liệu trên nhiều nút và nhiều, nhiều hơn nữa.


Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.