Apache Solr - Tổng quan
Solr là một nền tảng tìm kiếm mã nguồn mở được sử dụng để xây dựng search applications. Nó được xây dựng trênLucene(công cụ tìm kiếm toàn văn). Solr đã sẵn sàng cho doanh nghiệp, nhanh chóng và có khả năng mở rộng cao. Các ứng dụng được xây dựng bằng Solr rất phức tạp và mang lại hiệu suất cao.
Nó đã Yonik Seelyngười đã tạo ra Solr vào năm 2004 để thêm khả năng tìm kiếm vào trang web của công ty CNET Networks. Vào tháng 1 năm 2006, nó đã được thực hiện một dự án mã nguồn mở của Apache Software Foundation. Phiên bản mới nhất của nó, Solr 6.0, được phát hành vào năm 2016 với hỗ trợ thực thi các truy vấn SQL song song.
Solr có thể được sử dụng cùng với Hadoop. Vì Hadoop xử lý một lượng lớn dữ liệu, Solr giúp chúng tôi tìm kiếm thông tin cần thiết từ một nguồn lớn như vậy. Không chỉ tìm kiếm, Solr còn có thể được sử dụng cho mục đích lưu trữ. Giống như các cơ sở dữ liệu NoSQL khác, nó là mộtnon-relational data storage và processing technology.
Tóm lại, Solr là một công cụ tìm kiếm / lưu trữ có thể mở rộng, sẵn sàng triển khai, được tối ưu hóa để tìm kiếm khối lượng lớn dữ liệu tập trung vào văn bản.
Các tính năng của Apache Solr
Solr là một phần bao quanh API Java của Lucene. Do đó, sử dụng Solr, bạn có thể tận dụng tất cả các tính năng của Lucene. Hãy để chúng tôi xem xét một số tính năng nổi bật nhất của Solr -
Restful APIs- Để giao tiếp với Solr, không bắt buộc phải có kỹ năng lập trình Java. Thay vào đó, bạn có thể sử dụng các dịch vụ thư giãn để giao tiếp với nó. Chúng tôi nhập tài liệu vào Solr ở các định dạng tệp như XML, JSON và .CSV và nhận được kết quả ở các định dạng tệp giống nhau.
Full text search - Solr cung cấp tất cả các khả năng cần thiết để tìm kiếm toàn văn như mã thông báo, cụm từ, kiểm tra chính tả, ký tự đại diện và tự động hoàn thành.
Enterprise ready - Theo nhu cầu của tổ chức, Solr có thể được triển khai trong bất kỳ loại hệ thống nào (lớn hay nhỏ) như độc lập, phân tán, đám mây, v.v.
Flexible and Extensible - Bằng cách mở rộng các lớp Java và cấu hình phù hợp, chúng ta có thể tùy chỉnh các thành phần của Solr một cách dễ dàng.
NoSQL database - Solr cũng có thể được sử dụng làm cơ sở dữ liệu NOSQL quy mô dữ liệu lớn, nơi chúng ta có thể phân phối các tác vụ tìm kiếm dọc theo một cụm.
Admin Interface - Solr cung cấp giao diện người dùng dễ sử dụng, thân thiện với người dùng, được cung cấp tính năng, nhờ đó chúng tôi có thể thực hiện tất cả các tác vụ có thể có như quản lý nhật ký, thêm, xóa, cập nhật và tìm kiếm tài liệu.
Highly Scalable - Trong khi sử dụng Solr với Hadoop, chúng tôi có thể mở rộng dung lượng của nó bằng cách thêm các bản sao.
Text-Centric and Sorted by Relevance - Solr chủ yếu được sử dụng để tìm kiếm tài liệu văn bản và kết quả được phân phối theo mức độ liên quan với truy vấn của người dùng theo thứ tự.
Không giống như Lucene, bạn không cần phải có kỹ năng lập trình Java khi làm việc với Apache Solr. Nó cung cấp một dịch vụ sẵn sàng triển khai tuyệt vời để xây dựng một hộp tìm kiếm có tính năng tự động hoàn thành, điều mà Lucene không cung cấp. Sử dụng Solr, chúng tôi có thể mở rộng quy mô, phân phối và quản lý chỉ mục cho các ứng dụng quy mô lớn (Dữ liệu lớn).
Lucene trong ứng dụng tìm kiếm
Lucene là thư viện tìm kiếm dựa trên Java đơn giản nhưng mạnh mẽ. Nó có thể được sử dụng trong bất kỳ ứng dụng nào để thêm khả năng tìm kiếm. Lucene là một thư viện có khả năng mở rộng và hiệu suất cao được sử dụng để lập chỉ mục và tìm kiếm hầu như bất kỳ loại văn bản nào. Thư viện Lucene cung cấp các hoạt động cốt lõi được yêu cầu bởi bất kỳ ứng dụng tìm kiếm nào, chẳng hạn nhưIndexing và Searching.
Nếu chúng ta có một cổng thông tin điện tử với khối lượng dữ liệu khổng lồ, thì chúng ta có thể sẽ yêu cầu một công cụ tìm kiếm trong cổng thông tin của mình để trích xuất thông tin liên quan từ nguồn dữ liệu khổng lồ. Lucene hoạt động như trái tim của bất kỳ ứng dụng tìm kiếm nào và cung cấp các hoạt động quan trọng liên quan đến lập chỉ mục và tìm kiếm.