Hướng dẫn về Apache Solr: Solr là gì? Archikiến trúc và lắp đặt

Apache Solr là gì?

Solr Apache là một nền tảng máy chủ tìm kiếm nguồn mở được viết bằng Java ngôn ngữ của nền tảng phần mềm Apache. Nó có khả năng mở rộng cao và sẵn sàng triển khai công cụ tìm kiếm để xử lý khối lượng lớn dữ liệu tập trung vào văn bản. Mục đích của việc sử dụng Apache Solr là lập chỉ mục và tìm kiếm lượng lớn nội dung web và cung cấp nội dung có liên quan dựa trên truy vấn tìm kiếm.

Apache Solr là trình bao bọc HTTP dựa trên REST-API xung quanh công cụ tìm kiếm toàn văn bản có tên Apache Lucene. Chỉ mục đảo ngược là danh sách các từ trong đó mỗi mục nhập từ liên kết đến tài liệu được lưu trữ trong đó. Bằng cách đó, lấy tất cả tài liệu cho truy vấn tìm kiếm “guru99” bằng thao tác 'get' đơn giản.

Lịch sử của Apache Solr

  • 1999: Doug Cut xuất bản Lucene
  • 2004: Solr được phát triển tại CNET bởi Yonik Seeley như một dự án nội bộ của công ty
  • 2006: CNET xuất bản mã nguồn bằng cách tặng nó cho Phần mềm Apache Foundation
  • 2008: Solr 1.3 được phát hành với khả năng tìm kiếm nâng cao và cải tiến hiệu suất
  • 2010: Sáp nhập Lucene và Solr
  • 2012: Solr phiên bản 4.0 được phát hành, với tính năng Solr Cloud mới
  • 2016: Solr 6.0, được phát hành, hỗ trợ thực hiện các truy vấn SQL song song

Các tính năng của Apache Solr

Dưới đây là các tính năng quan trọng của Apache Solr:

  • Cân bằng tải tự động
  • Giao diện mở dựa trên tiêu chuẩn - XML, JSON và HTTP
  • Khuyến nghị & Đề xuất chính tả được hỗ trợ
  • Hỗ trợ Tự động hoàn thành và Tìm kiếm không gian địa lý
  • Bảo mật tích hợp để xác thực và ủy quyền
  • Cho phép bạn thực hiện tìm kiếm từ khóa đa ngôn ngữ
  • Dự đoán tự động hoàn thành/gõ trước
  • Xử lý hàng loạt và truyền phát
  • Xây dựng mô hình học máy thật dễ dàng
  • Được tối ưu hóa đặc biệt cho lưu lượng truy cập web lớn
  • Giao diện ngưỡng mộ HTML toàn diện
  • Hỗ trợ cả cấu hình Schema và Schemaless
  • Tìm kiếm và lọc theo khía cạnh
  • Cấu hình trung tâm cho toàn bộ Cluster

Các thuật ngữ chính được sử dụng trong Apache Solr

Bây giờ trong hướng dẫn về công cụ tìm kiếm Solr này, chúng ta sẽ tìm hiểu về các thuật ngữ chính được sử dụng trong Apache Solr:

thuật ngữ chính Mô tả
lõi Solr Solr Core có thể được định nghĩa là một chỉ mục của văn bản và trường có nguồn gốc từ tất cả các tài liệu. Một phiên bản Solr có thể có một hoặc nhiều lõi Solr.

Core = một phiên bản của cấu hình Lucene Index + Solr

Ví dụ Solr Solr Instance là một phiên bản Solr chạy trong Java Máy ảo (JVM). Ở chế độ Độc lập, nó chỉ cung cấp một phiên bản trong khi ở chế độ đám mây, bạn có thể có một hoặc nhiều phiên bản.
Lập chỉ mục Lập chỉ mục là một phương pháp để thêm nội dung của tài liệu vào Solr Index. Apache Solr sử dụng kỹ thuật Apache Lucene Inverted Index.
Tài liệu Đó là một nhóm các trường và giá trị của chúng. Tài liệu là một đơn vị dữ liệu cơ bản được lưu trữ trong Apache Core. Một lõi Apache có thể chứa một hoặc nhiều Tài liệu.
Phần Trường này là cặp khóa-giá trị lưu trữ dữ liệu thực tế trong Tài liệu. Khóa chỉ định tên trường và giá trị chứa dữ liệu Trường đó. Một tài liệu có thể có một hoặc nhiều trường. Nó được Apache Solr sử dụng để lập chỉ mục nội dung tài liệu.
API an toàn Để giao tiếp với Solr, không cần thiết phải sử dụng Java lập trình. Thay vào đó, Apache Solr cung cấp dịch vụ thư giãn để giao tiếp với nó. Bạn có thể gửi tài liệu và nhận kết quả ở nhiều định dạng tệp khác nhau như JSON, XML và CSV.
Tìm kiếm toàn văn bản Solr cung cấp các tính năng để tìm kiếm toàn văn bản như mã thông báo, cụm từ, kiểm tra chính tả, tự động hoàn thành, ký tự đại diện, v.v.
Giao diện quản trị viên 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 hỗ trợ nhiều tính năng. Sử dụng giao diện bạn có thể thực hiện các tác vụ như quản lý nhật ký, thêm, xóa, cập nhật và tìm kiếm tài liệu.
Tập trung vào văn bản và sắp xếp theo mức độ liên quan Apache Solr được sử dụng để tìm kiếm tài liệu văn bản và kết quả được cung cấp theo truy vấn của người dùng.
Node Trong đám mây Solr, mọi phiên bản đều được gọi là nút.
Cluster Một cụm là một tập hợp các nút.
Bộ sưu tập Một cụm có một chỉ mục logic còn được gọi là bộ sưu tập.
Mảnh vỡ Đây là một khu vực nhỏ của bộ sưu tập cung cấp một hoặc nhiều bản sao của chỉ mục.
Replica Bản sao là bản sao của phân đoạn chạy trong nút.
Lãnh đạo Nó là bản sao của phân đoạn, gửi yêu cầu của Đám mây Solr cho các bản sao còn lại.

Solr Apache Archikiến trúc

Bây giờ trong hướng dẫn tìm kiếm Solr này, chúng ta hãy tìm hiểu về Apache Solr Archikiến trúc:

Solr Apache Archikiến trúc
Solr Apache Archikiến trúc

Apache Solr thỏa hiệp các thành phần sau

Câu Hỏi

Trình phân tích cú pháp truy vấn phân tích các truy vấn mà bạn cần chuyển tới Solr. Nó xác minh truy vấn của bạn để kiểm tra lỗi cú pháp. Sau khi phân tích cú pháp các truy vấn, nó sẽ chuyển sang định dạng mà Lucene biết.

Trình xử lý yêu cầu

Yêu cầu gửi tới Apache Solr được xử lý bởi trình xử lý yêu cầu. Yêu cầu có thể là yêu cầu truy vấn hoặc yêu cầu cập nhật chỉ mục. Bạn cần chọn trình xử lý yêu cầu theo yêu cầu của bạn. Để chuyển yêu cầu tới Solr, bạn cần ánh xạ trình xử lý tới một điểm cuối URL cụ thể.

Người viết phản hồi

Trình soạn thảo phản hồi sẽ tạo kết quả đầu ra được định dạng cho các truy vấn đầu vào. Nó hỗ trợ các định dạng khác nhau như XML, JSON, CSV.etc. Bạn có thể có những người viết phản hồi khác nhau cho các loại yêu cầu khác nhau.

Trình xử lý cập nhật

Khi bạn gửi yêu cầu cập nhật tới Apache Solr, nó sẽ được chạy thông qua một bộ plugin, chữ ký, ghi nhật ký, lập chỉ mục. Quá trình này được gọi là bộ xử lý yêu cầu cập nhật. Trình xử lý cập nhật cũng chịu trách nhiệm sửa đổi như thêm hoặc xóa tệp, v.v.

Ứng dụng Apache Solr

Các Ứng Dụng Sử dụng
Cổng thông tin mạng nội bộ
  • Dễ dàng truy cập để tìm kiếm
  • Khởi chạy ứng dụng
  • Thông báo tin tức và sự kiện
  • Xác thực đăng nhập một lần
Khách hàng liên kết
  • Trình bày đơn giản hóa
  • Tìm kiếm trên tất cả nội dung
  • Chỉ truy cập được ủy quyền
  • xem tài liệu
Bộ dữ liệu công cụ
  • Tối ưu hóa cho các nhà khoa học
  • Menu phụ thuộc dữ liệu
  • Bộ lọc lưới chuyên dụng
Văn bản quy định
  • Dành cho các nhà nghiên cứu
  • Truy cập siêu dữ liệu phong phú
  • Xuất bảng tính
  • Xem trình tăng tốc tài liệu
Được nhúng trong ứng dụng PLM
  • Cung cấp trải nghiệm tìm kiếm tốt hơn RDBMS có thể cung cấp
  • Mô hình bảo mật ràng buộc muộn
  • Hành động tài liệu được hiển thị trên thanh công cụ

Làm cách nào để cài đặt Apache Solr?

Bước 1) Mở trang web và tiếp tục đăng ký
Đi đến đây liên kết này, Nhấp vào “Tiếp tục đăng ký”.

Cài đặt Apache Solr

Bước 2) Bấm vào Chấp nhận điều khoản
Trên trang tiếp theo, nhấp vào Chấp nhận điều khoản.

Cài đặt Apache Solr

Bước 3) Đợi một thời gian
Tiếp theo, hãy đợi một lúc và sau đó, Yêu cầu sẽ được chấp nhận sau một thời gian.

Cài đặt Apache Solr

Bước 4) Tiếp tục đến cấu hình
Làm mới trang và nhấp vào “Tiếp tục cấu hình”

Cài đặt Apache Solr

Bước 5) Tiếp tục khởi chạy
Giữ cài đặt mặc định và nhấp vào “Tiếp tục khởi chạy”.

Cài đặt Apache Solr

Bước 6) Giữ cài đặt mặc định
Trên trang tiếp theo, Giữ cài đặt mặc định

  • Đảm bảo bạn có tệp pem của khóa
  • Nhấp vào “Khởi chạy”

Cài đặt Apache Solr

Bạn sẽ thấy thông báo thành công này

Cài đặt Apache Solr

Bước 7) Lưu ý DNS công cộng
Trong bảng điều khiển EC2, Lưu ý DNS công khai của phiên bản của bạn

Cài đặt Apache Solr

Bước 8) Mở URL bên dưới
Để truy cập Solr, chỉ cần sử dụng URL

http://publicdns:8983

trong trường hợp của chúng tôi nó trở thành

http://ec2-18-221-175-53.us-east-2.compute.amazonaws.com:8983

Cài đặt Apache Solr

Lưu ý: Nếu bạn gặp sự cố khi truy cập phiên bản, hãy thay đổi quy tắc gửi đến và gửi đi trong phiên bản của bạn để cho phép tất cả lưu lượng truy cập như trong ví dụ truy vấn Solr bên dưới:

Cài đặt Apache Solr

Elaticsearch Vs. Apache Solr

Thông số Solr Apache Tìm kiếm đàn hồi
Thiên nhiên Nó là một dự án mã nguồn mở. Không phải là một dự án nguồn mở.
Trạng thái tĩnh Tĩnh trong shema.xml Tĩnh trong elasticsearch.yml
Định dạng XML, CSV, JSON Chỉ JSON
Chỉ số Có thể được tải lại trong thời gian chạy với tính năng tải lại bộ sưu tập/lõi Được xác định trong quá trình tạo chỉ mục/loại bằng lệnh gọi REST
Tài liệu Nó được ghi lại đầy đủ. Nó được ghi lại rất tệ.
Tách mảnh Có thể Không thể

Ưu điểm của Apache Solr

  • Giúp bạn giảm lượng thời gian cần thiết để xác định vị trí Thông tin
  • Đây là công cụ tìm kiếm nhanh, đơn giản, mạnh mẽ và linh hoạt
  • Giúp bạn làm cho sản phẩm và dịch vụ của mình dễ tiếp cận hơn
  • Tăng chi tiêu của khách hàng cho một ứng dụng web
  • Giúp bạn cải thiện trải nghiệm người dùng trên ứng dụng web để tăng doanh thu và lợi nhuận
  • Giao diện quản trị dựa trên HTML toàn diện
  • Linh hoạt và thích ứng với cấu hình XML
  • Plugin mở rộng Archikiến trúc
  • Công cụ tìm kiếm có khả năng mở rộng cao, mạnh mẽ, có khả năng chịu lỗi
  • Hỗ trợ phân phối, tạo bóng, nhân rộng, Clustering và đa nút Archikiến trúc

Nhược điểm của Apache Solr

  • Đây không phải là Kho dữ liệu tuân thủ ACID
  • Nó không hữu ích như một kho lưu trữ dữ liệu chính. Chỉ hữu ích như Kho dữ liệu thứ cấp
  • Không cung cấp hỗ trợ cho các giao dịch và giao dịch phân phối
  • Không hỗ trợ Joins và Complex Query
  • Không tối ưu cho dữ liệu chuẩn hóa

Tổng kết

  • Apache Solr là một mã nguồn mở API REST máy chủ tìm kiếm dựa trên
  • Apache Solr được phát triển tại CNET bởi Yonik Seeley như một dự án nội bộ của công ty
  • Apache Solr cung cấp các tính năng như Tự động hoàn thành và Tìm kiếm không gian địa lý
  • Solr Core, Solr Instance, Lập chỉ mục, Tài liệu, API an toàn, Tìm kiếm toàn văn bản, Giao diện quản trị viên, v.v. là một số thuật ngữ chính được sử dụng trong Apache Solr
  • Trình xử lý truy vấn, trình xử lý yêu cầu, trình xử lý yêu cầu và trình xử lý cập nhật là một số thành phần quan trọng của Apache Solr
  • Cổng thông tin mạng nội bộ, Máy khách liên kết, Bộ dữ liệu công cụ, Tài liệu quy định, Được nhúng trong Ứng dụng PLM là những Ứng dụng Apache Solr hữu ích
  • Apache Solr được ghi chép đầy đủ so với elastic search được ghi chép kém
  • Ưu điểm lớn nhất của Apache Solr là nó giúp bạn giảm lượng thời gian cần thiết để định vị Thông tin
  • Hạn chế chính của ứng dụng này Nó không phải là Kho dữ liệu tuân thủ ACID