Tôi biết ElasticSearch được xây dựng dựa trên Apache Lucene nhưng tôi muốn biết sự khác biệt đáng kể giữa hai loại này.
Tôi biết ElasticSearch được xây dựng dựa trên Apache Lucene nhưng tôi muốn biết sự khác biệt đáng kể giữa hai loại này.
Câu trả lời:
Lucene là một thư viện Java . Bạn có thể đưa nó vào dự án của bạn và tham khảo các chức năng của nó bằng các lệnh gọi hàm.
Elaticsearch là một máy chủ web dựa trên JSON , phân tán , được xây dựng trên Lucene. Mặc dù đó là Lucene, người đang thực hiện công việc thực tế bên dưới, Elaticsearch cung cấp cho chúng ta một lớp thuận tiện hơn Lucene. Mỗi phân đoạn được tạo ra trong Elaticsearch là một thể hiện Lucene riêng. Vì vậy, để tóm tắt
Ngoài các từ @Vineeth Mohan :
Tính sẵn sàng cao: Elaticsearch được phân phối, để nó có thể quản lý sao chép dữ liệu, có nghĩa là có nhiều bản sao dữ liệu trong cụm của bạn. Điều này cho phép tính sẵn sàng cao.
DSL truy vấn mạnh mẽ : Elaticsearch cung cấp cho chúng tôi, giao diện JSON để đọc và viết các truy vấn trên Lucene. Nhờ Elaticsearch, bạn có thể viết các truy vấn phức tạp mà không cần biết cú pháp Lucene.
Schemaless (Schema-Free): Các trường (tên, cặp giá trị) schema
không phải được xác định trước. Khi bạn lập chỉ mục dữ liệu, elaticsearch có thể tự động tạo lược đồ khi chạy, như ma thuật.
Tôi sẽ trả lời từ góc độ sử dụng.
Lucene là một thư viện công cụ tìm kiếm . Bạn muốn sử dụng nó để xây dựng công cụ tìm kiếm của riêng mình: một đối thủ cạnh tranh mới của Elaticsearch hoặc Solr hoặc một cái gì đó hẹp cho trường hợp sử dụng của bạn (ví dụ: phân tích văn bản).
Elaticsearch là một công cụ tìm kiếm . Hầu hết mọi người sử dụng nó để tổng hợp nhật ký, tìm kiếm sản phẩm hoặc một biến thể của hai điều này (ví dụ: phân tích phương tiện truyền thông xã hội hoặc tìm người có liên quan cho một số tiêu chí tìm kiếm). Nó được xây dựng trên đỉnh Lucene, vì vậy nó phơi bày hầu hết (mặc dù không phải tất cả) các tính năng của nó . Nó cũng thêm rất nhiều trên đầu trang, đáng kể nhất: