Apache Solr - Kiến trúc
Trong chương này, chúng ta sẽ thảo luận về kiến trúc của Apache Solr. Hình minh họa sau đây cho thấy một sơ đồ khối của kiến trúc của Apache Solr.
Kiến trúc Solr ─ Khối xây dựng
Sau đây là các khối xây dựng (thành phần) chính của Apache Solr:
Request Handler- Các yêu cầu chúng tôi gửi đến Apache Solr được xử lý bởi các trình xử lý yêu cầu này. Các 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. Dựa trên yêu cầu của chúng tôi, chúng tôi cần chọn trình xử lý yêu cầu. Để chuyển một yêu cầu tới Solr, chúng tôi thường ánh xạ trình xử lý tới một điểm cuối URI nhất định và yêu cầu được chỉ định sẽ được nó phục vụ.
Search Component- Thành phần tìm kiếm là một loại (tính năng) tìm kiếm được cung cấp trong Apache Solr. Đó có thể là kiểm tra chính tả, truy vấn, phân loại, đánh dấu nhấn, v.v. Các thành phần tìm kiếm này được đăng ký làsearch handlers. Nhiều thành phần có thể được đăng ký cho một trình xử lý tìm kiếm.
Query Parser- Trình phân tích cú pháp truy vấn Apache Solr phân tích cú pháp các truy vấn mà chúng tôi chuyển đến Solr và xác minh các truy vấn để tìm lỗi cú pháp. Sau khi phân tích cú pháp các truy vấn, nó sẽ dịch chúng sang định dạng mà Lucene hiểu được.
Response Writer- Trình viết phản hồi trong Apache Solr là thành phần tạo ra đầu ra được định dạng cho các truy vấn của người dùng. Solr hỗ trợ các định dạng phản hồi như XML, JSON, CSV, v.v. Chúng tôi có các trình viết phản hồi khác nhau cho từng loại phản hồi.
Analyzer/tokenizer- Lucene nhận dạng dữ liệu dưới dạng mã thông báo. Apache Solr phân tích nội dung, chia nó thành các mã thông báo và chuyển các mã thông báo này cho Lucene. Một bộ phân tích trong Apache Solr kiểm tra văn bản của các trường và tạo một dòng mã thông báo. Trình mã hóa phá vỡ dòng mã thông báo do bộ phân tích chuẩn bị thành mã thông báo.
Update Request Processor - Bất cứ khi nào chúng tôi gửi một yêu cầu cập nhật đến Apache Solr, yêu cầu đó sẽ được chạy thông qua một tập hợp các plugin (chữ ký, ghi nhật ký, lập chỉ mục), được gọi chung là update request processor. Bộ xử lý này chịu trách nhiệm sửa đổi như bỏ trường, thêm trường, v.v.