Hướng dẫn về Apache Solr: Solr là gì? Archikiến trúc
⚡ Tóm tắt thông minh
Apache Solr là một phần mềm mã nguồn mở, JavaMáy chủ tìm kiếm dựa trên Apache Lucene. Nó lập chỉ mục khối lượng lớn dữ liệu dạng văn bản và trả về kết quả phù hợp thông qua API REST, cung cấp chức năng tìm kiếm toàn văn, phân loại, khả năng mở rộng và cả chế độ triển khai độc lập lẫn trên SolrCloud.
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
- 2017: Solr 7.0 được phát hành, bổ sung thêm khung tự động mở rộng quy mô và API JSON Facet.
- 2019: Solr 8.0 được phát hành với hỗ trợ tài liệu lồng nhau và cải tiến biểu thức truyền dữ liệu.
- 2021: Lucene và Solr lại tách ra, và Solr trở thành một dự án cấp cao độc lập của Apache.
- 2022: Solr 9.0 được phát hành, là phiên bản đầu tiên hoạt động độc lập với Lucene, bổ sung tính năng tìm kiếm vector và hỗ trợ Kubernetes.
- 2026: Solr 10.0 được phát hành dưới dạng phiên bản chính mới nhất.
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ả Chi tiế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à các trường được trích xuất từ tất cả các tài liệu. Một Solr Instance có thể có một hoặc nhiều Solr Core. Core = một instance của Lucene Index + cấu hình 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 là một cặp khóa-giá trị lưu trữ dữ liệu thực tế trong một Tài liệu. Khóa chỉ định tên trường và giá trị chứa dữ liệu của trường đó. Một tài liệu có thể có một hoặc nhiều trường. Apache Solr sử dụng trường này để 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:

Apache Solr thỏa hiệp các thành phần sau
Câu Hỏi
Trình phân tích truy vấn sẽ phân tích các truy vấn mà bạn cần truyền cho Solr. Nó sẽ xác minh truy vấn của bạn để kiểm tra các lỗi cú pháp. Sau khi phân tích các truy vấn, nó sẽ dịch chúng sang định dạng mà Lucene biết.
Trình xử lý yêu cầu
Các yêu cầu được gửi đến Apache Solr sẽ đượ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 phù hợp với yêu cầu của mình. Để chuyển tiếp yêu cầu đến Solr, bạn cần ánh xạ trình xử lý đến một trình xử lý cụ thể. URL điểm cuối.
Phản ứng Writer
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 đến Apache Solr, yêu cầu đó sẽ được xử lý thông qua một tập hợp các plugin, chữ ký, ghi nhật ký và 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 cho các sửa đổi như thêm hoặc xóa.ping đã nộ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ộ |
|
| Khách hàng liên kết |
|
| Bộ dữ liệu công cụ |
|
| Văn bản quy định |
|
| Được nhúng trong ứng dụng PLM |
|
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ý”.
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.
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.
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”
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”.
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”
Bạn sẽ thấy thông báo thành công này
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
Bước 8) Mở bên dưới URL
Để 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
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:
Elaticsearch Vs. Apache Solr
| Thông số Kỹ thuật | 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











