Apache Solr là một nền tảng tìm kiếm nguồn mở được xây dựng trên Apache Lucene, được thiết kế để tạo ra các khả năng tìm kiếm và lập chỉ mục ứng dụng mạnh mẽ. Nó cung cấp tìm kiếm toàn văn bản nâng cao, tìm kiếm theo khía cạnh, lập chỉ mục thời gian thực và tìm kiếm phân tán, khiến nó trở thành lựa chọn phổ biến để xây dựng các công cụ tìm kiếm và hệ thống truy xuất dữ liệu.
Solr có khả năng mở rộng cao và được tối ưu hóa cho khối lượng dữ liệu lớn, thường được sử dụng trong môi trường doanh nghiệp cho các tác vụ như tìm kiếm trang web, thương mại điện tử và phân tích dữ liệu lớn. API giống REST của nó cho phép tích hợp dễ dàng với các hệ thống khác và hỗ trợ các tính năng như làm nổi bật các gợi ý truy vấn và tìm kiếm không gian địa lý. Tính linh hoạt, hiệu suất và sự hỗ trợ của cộng đồng đã biến Solr trở thành giải pháp hàng đầu cho các tổ chức cần chức năng tìm kiếm mạnh mẽ.
Trong hướng dẫn này, bạn sẽ tìm hiểu cách cài đặt Apache Solr trên máy chủ Ubuntu 24.04. Ngoài ra, bạn cũng sẽ học cách bảo mật Apache Solr bằng BasicAuthentication và tạo bộ sưu tập đầu tiên bằng dòng lệnh solr.
Thực hiện lệnh bên dưới để tăng shmmax và nr_hugepages trên Ubuntu của bạn máy chủ.
Bây giờ hãy chạy lệnh bên dưới để sửa đổi tệp /etc/security/limits.conf.
Tăng số lượng tệp và quy trình mở tối đa cho người dùng solr bằng lệnh sau cấu hình.
Lưu tệp và thoát khỏi trình soạn thảo.
Trước tiên, hãy cập nhật chỉ mục gói Ubuntu của bạn với nội dung sau.
Bây giờ hãy cài đặt gói default-jdk bằng lệnh bên dưới. Nhập Y để xác nhận cài đặt.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22305%22%3E%3C/svg%3E
Sau khi cài đặt hoàn tất, hãy kiểm tra phiên bản Java bằng lệnh sau lệnh.
Bạn có thể thấy bên dưới rằng Java 21 đã được cài đặt.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22151%22%3E%3C/svg%3E
Để bắt đầu, hãy chạy lệnh bên dưới để cài đặt các công cụ cơ bản như curl, lsof và bc.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22368%22%3E%3C/svg%3E
Bây giờ hãy tải xuống gói nhị phân Apache Solr bằng lệnh wget bên dưới.
Đổi tên gói Apache Solr và trích xuất tập lệnh cài đặt install_solr_service.sh bằng lệnh bên dưới.
Bây giờ hãy chạy tập lệnh install_solr_service.sh để cài đặt Apache Solr.
Bạn có thể xem cài đặt Apache Solr chi tiết bên dưới.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22725%22%20height=%22705%22%3E%3C/svg%3E
Bây giờ hãy kiểm tra trạng thái solr bằng lệnh bên dưới. Bạn có thể thấy solr với trạng thái active(exited), nghĩa là dịch vụ đang chạy, nhưng systemd không tìm thấy bất kỳ tệp nào để theo dõi.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22236%22%3E%3C/svg%3E
Bạn cũng có thể kiểm tra các cổng mở trên hệ thống của mình bằng cách sử dụng Lệnh ss bên dưới. Apache Solr phải chạy trên cổng 8893.
Mở tệp cấu hình Solr /etc/default/solr.in.sh bằng trình soạn thảo vim.
Thay đổi tùy chọn SOLR_HEAP mặc định bằng phân bổ bộ nhớ tối đa cho Apache Solr. Trong ví dụ này, chúng tôi sẽ sử dụng 4GB RAM.
Nhập địa chỉ IP của bạn vào tùy chọn SOLR_HOST và SOLR_JETTY_HOST. Trong ví dụ này, Apache Solr sẽ chạy trên địa chỉ IP cục bộ 192.169.10.60.
Bây giờ hãy chạy lệnh systemctl bên dưới để khởi động lại dịch vụ Apache Solr và áp dụng các thay đổi của bạn.
Bạn có thể kiểm tra cổng mở và địa chỉ IP nào được Apache Solr sử dụng bằng ss lệnh bên dưới.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22142%22%3E%3C/svg%3E
Tạo cấu hình mới /var/solr/data/security.json bằng trình soạn thảo vim.
Chèn cấu hình bên dưới để thiết lập xác thực cho Apache Solr và tạo người dùng mới solr với mật khẩu solrRocks.
Lưu tệp và thoát khỏi trình chỉnh sửa.
Bây giờ hãy chạy lệnh systemctl bên dưới để khởi động lại dịch vụ solr và áp dụng các thay đổi của bạn.
Tiếp theo, hãy mở trình duyệt web và truy cập cài đặt Apache Solr của bạn http://192.168.10.60:8983/. Bạn sẽ được chuyển hướng đến trang đăng nhập Apache Solr.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22262%22%3E%3C/svg%3E
Nhập tên người dùng solr và mật khẩu solrRocks và bạn sẽ nhận được bảng điều khiển Apache Solr.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22322%22%3E%3C/svg%3E
Mở lại tệp /etc/default/solr.in.sh bằng trình soạn thảo vim.
Bỏ chú thích các dòng SOLR_AUTH_TYPE và SOLR_AUTHENTICATION_OPTS và giữ nguyên cả hai như default.
Lưu tệp và thoát khỏi trình chỉnh sửa.
Bây giờ hãy chạy lệnh sau để khởi động lại dịch vụ Apache Solr.
Tiếp theo, hãy chạy lệnh bên dưới để tạo bộ sưu tập đầu tiên của bạn với tên my_first_index.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22162%22%3E%3C/svg%3E
Bây giờ hãy di chuyển đến Bảng điều khiển Apache Solr và bạn sẽ thấy bộ sưu tập mới my_first_index đã được tạo.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22210%22%3E%3C/svg%3E
Solr có khả năng mở rộng cao và được tối ưu hóa cho khối lượng dữ liệu lớn, thường được sử dụng trong môi trường doanh nghiệp cho các tác vụ như tìm kiếm trang web, thương mại điện tử và phân tích dữ liệu lớn. API giống REST của nó cho phép tích hợp dễ dàng với các hệ thống khác và hỗ trợ các tính năng như làm nổi bật các gợi ý truy vấn và tìm kiếm không gian địa lý. Tính linh hoạt, hiệu suất và sự hỗ trợ của cộng đồng đã biến Solr trở thành giải pháp hàng đầu cho các tổ chức cần chức năng tìm kiếm mạnh mẽ.
Trong hướng dẫn này, bạn sẽ tìm hiểu cách cài đặt Apache Solr trên máy chủ Ubuntu 24.04. Ngoài ra, bạn cũng sẽ học cách bảo mật Apache Solr bằng BasicAuthentication và tạo bộ sưu tập đầu tiên bằng dòng lệnh solr.
Điều kiện tiên quyết
Để bắt đầu với hướng dẫn này, hãy đảm bảo bạn có những điều sau:- Máy chủ Ubuntu 24.04
- Người dùng không phải root có quyền quản trị viên
Chuẩn bị máy chủ Ubuntu
Trước khi cài đặt Apache Solr, hãy chuẩn bị và cấu hình hệ thống Ubuntu của chúng ta bằng cách tăng shmmax và nr_hugepages trong tham số hạt nhân, sau đó tăng số lượng tệp và quy trình mở tối đa mặc định.Thực hiện lệnh bên dưới để tăng shmmax và nr_hugepages trên Ubuntu của bạn máy chủ.
Mã:
sudo echo 4294967295 > /proc/sys/kernel/shmmax
sudo echo 1536 > /proc/sys/vm/nr_hugepages
Mã:
sudo nano /etc/security/limits.conf
Mã:
solr soft nofile 65000
solr hard nofile 65000
solr soft nproc 65000
solr hard nproc 65000
Cài đặt Java OpenJDK
Bây giờ bạn đã cấu hình hệ thống của mình, hãy cài đặt Java OpenJDK vào hệ thống của chúng ta. Apache Solr yêu cầu ít nhất Java 11 được cài đặt trên hệ thống của bạn và đối với hướng dẫn này, chúng tôi sẽ sử dụng gói default-jdk cung cấp phiên bản Java OpenJDK ổn định mới nhất.Trước tiên, hãy cập nhật chỉ mục gói Ubuntu của bạn với nội dung sau.
Mã:
sudo apt update
Mã:
sudo apt install default-jdk
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22305%22%3E%3C/svg%3E
Sau khi cài đặt hoàn tất, hãy kiểm tra phiên bản Java bằng lệnh sau lệnh.
Mã:
java --version
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22151%22%3E%3C/svg%3E
Cài đặt Apache Solr
Bây giờ hệ thống Ubuntu của bạn đã được định cấu hình và Java OpenJDK đã được cài đặt, hãy bắt đầu cài đặt Apache Solr. Trong hướng dẫn này, bạn sẽ cài đặt Apache Solr bằng tập lệnh cài đặt do gói Solr cung cấp.Để bắt đầu, hãy chạy lệnh bên dưới để cài đặt các công cụ cơ bản như curl, lsof và bc.
Mã:
sudo apt install curl lsof bc
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22368%22%3E%3C/svg%3E
Bây giờ hãy tải xuống gói nhị phân Apache Solr bằng lệnh wget bên dưới.
Mã:
wget https://www.apache.org/dyn/closer.lua/solr/solr/9.7.0/solr-9.7.0.tgz?action=download
Mã:
mv solr-9.7.0.tgz?action=download solr-9.7.0.tgz
tar -xf tar xzf solr-9.7.0.tgz solr-9.7.0/bin/install_solr_service.sh --strip-components=2
Mã:
sudo bash ./install_solr_service.sh solr-9.7.0.tgz
- Thư mục cài đặt mặc định nằm trong thư mục /opt/solr.
- người dùng mới solr được tạo tự động.
- Tệp dịch vụ mới solr.service được tạo để quản lý dịch vụ Apache Solr.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22725%22%20height=%22705%22%3E%3C/svg%3E
Bây giờ hãy kiểm tra trạng thái solr bằng lệnh bên dưới. Bạn có thể thấy solr với trạng thái active(exited), nghĩa là dịch vụ đang chạy, nhưng systemd không tìm thấy bất kỳ tệp nào để theo dõi.
Mã:
sudo systemctl status solr
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22236%22%3E%3C/svg%3E
Bạn cũng có thể kiểm tra các cổng mở trên hệ thống của mình bằng cách sử dụng Lệnh ss bên dưới. Apache Solr phải chạy trên cổng 8893.
Mã:
ss -tulpn
Cấu hình Apache Solr
Bây giờ Apache Solr đã được cài đặt, hãy cấu hình nó bằng cách sửa đổi các tham số Apache Solr trong tập lệnh /etc/default/solr.in.sh. Sau đó, tăng heap bộ nhớ tối đa mặc định và địa chỉ IP được sử dụng để chạy Apache Solr.Mở tệp cấu hình Solr /etc/default/solr.in.sh bằng trình soạn thảo vim.
Mã:
sudo vim /etc/default/solr.in.sh
Mã:
SOLR_HEAP="4g"
Mã:
SOLR_HOST="192.168.10.15"
SOLR_JETTY_HOST="192.168.10.15"
Mã:
sudo systemctl restart solr
Mã:
ss -tulpn
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22142%22%3E%3C/svg%3E
Bảo mật Apache Solr bằng Xác thực
Sau khi cấu hình Apache Solr, bước tiếp theo là bảo mật triển khai. Trong ví dụ này, chúng ta sẽ sử dụng xác thực cơ bản để bảo mật Apache Solr. Điều này có thể được thực hiện bằng cách tạo một tệp mới /var/solr/data/security.json.Tạo cấu hình mới /var/solr/data/security.json bằng trình soạn thảo vim.
Mã:
sudo vim /var/solr/data/security.json
Mã:
{
"authentication":{
"blockUnknown": true,
"class":"solr.BasicAuthPlugin",
"credentials":{"solr":"IV0EHq1OnNrj6gvRCwvFwTrZ1+z1oBbnQdiVC3otuq0= Ndd7LKvVBAaZIF0QAVi1ekCfAJXr1GGfLtRUXhgrF8c="},
"realm":"My Solr users",
"forwardCredentials": false
},
"authorization":{
"class":"solr.RuleBasedAuthorizationPlugin",
"permissions":[{"name":"all", "role":"admin"}],
"user-role":{"solr":"admin"}
}
}
Bây giờ hãy chạy lệnh systemctl bên dưới để khởi động lại dịch vụ solr và áp dụng các thay đổi của bạn.
Mã:
sudo systemctl restart solr
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22262%22%3E%3C/svg%3E
Nhập tên người dùng solr và mật khẩu solrRocks và bạn sẽ nhận được bảng điều khiển Apache Solr.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22322%22%3E%3C/svg%3E
Tạo Bộ sưu tập đầu tiên trong Apache Solr
Ở giai đoạn này, bạn đã cấu hình và bảo mật Apache Solr. Bây giờ bạn sẽ tạo Bộ sưu tập đầu tiên trong Apache Solr từ dòng lệnh.Mở lại tệp /etc/default/solr.in.sh bằng trình soạn thảo vim.
Mã:
sudo vim /etc/default/solr.in.sh
Mã:
SOLR_AUTH_TYPE="basic"
SOLR_AUTHENTICATION_OPTS="-Dbasicauth=solr:SolrRocks"
Bây giờ hãy chạy lệnh sau để khởi động lại dịch vụ Apache Solr.
Mã:
sudo systemctl restart solr
Mã:
su - solr -c "/opt/solr/bin/solr create -c my_first_index -n MyIndex"
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22162%22%3E%3C/svg%3E
Bây giờ hãy di chuyển đến Bảng điều khiển Apache Solr và bạn sẽ thấy bộ sưu tập mới my_first_index đã được tạo.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22210%22%3E%3C/svg%3E