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à nó hỗ trợ các tính năng như làm nổi bật các đề xuất truy vấn và tìm kiếm không gian địa lý. Tính linh hoạt, hiệu suất và hỗ trợ cộng đồng của Solr đã biến nó 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, chúng tôi sẽ chỉ cho bạn các hướng dẫn từng bước về cách cài đặt Apache Solr trên máy chủ Debian 12. Bạn sẽ cài đặt Apache Solr với Java OpenJDK 17, bảo mật thông qua plugin BasicAuth, sau đó tìm hiểu cách tạo chỉ mục Solr bằng dòng lệnh.
Trước khi bắt đầu, hãy thực hiện lệnh sau để cập nhật và làm mới chỉ mục gói Debian của bạn.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22703%22%20height=%22163%22%3E%3C/svg%3E
Bây giờ hãy chạy lệnh sau để cài đặt Java OpenJDK vào máy Debian của bạn. Trong Debian 12, gói default-jdk tham chiếu đến Java OpenJDK 17, mà Apache Solr có thể sử dụng.
Nhập y để tiếp tục cài đặt.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22221%22%3E%3C/svg%3E
Sau khi cài đặt hoàn tất, hãy xác minh phiên bản Java bằng cách thực hiện lệnh sau.
Kết quả sau xác nhận Java OpenJDK 17 đã được cài đặt.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22735%22%20height=%22155%22%3E%3C/svg%3E
Trước khi tải xuống Apache Solr, hãy cài đặt một số phụ thuộc bằng cách thực hiện lệnh sau.
Bây giờ hãy chạy lệnh curl bên dưới để tải xuống gói nhị phân của Apache Solr. Tại thời điểm viết bài này, phiên bản mới nhất của Apache Solr là v9.4.0. Sau khi tải xuống, gói Apache Solr sẽ có sẵn tại solr-9.4.0.tgz.
Sau đó, chạy lệnh sau để trích xuất tập lệnh cài đặt Apache Solr từ tệp solr-9.4.0.tgz. Tập lệnh cài đặtinstall_solr_service.sh sẽ được trích xuất từ thư mục làm việc hiện tại của bạn.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22292%22%3E%3C/svg%3E
Tiếp theo, thực hiện lệnh sau để cài đặt Apache Solr solr-9.4.0.tgz thông qua tập lệnh cài đặt install_solr_service.sh.
Trong quá trình này, bạn sẽ thấy thông tin sau:
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22391%22%3E%3C/svg%3E
Từ hình ảnh, bạn sẽ thấy trạng thái chi tiết của cài đặt Apache Solr của mình:
Đầu ra sau sẽ được hiển thị, xác nhận rằng dịch vụ solr đang chạy ở chế độ nền và được khởi động thông qua tập lệnh dịch vụ.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22169%22%3E%3C/svg%3E
Bạn cũng có thể sử dụng lệnh sau để khởi động lại hoặc dừng dịch vụ Solr.
Thực hiện lệnh sau để tăng tham số hạt nhân shmmax và nr_hugepages trên Debian của bạn máy.
Sau đó, mở tệp /etc/security/limits.conf bằng lệnh trình chỉnh sửa nano sau.
Thêm cấu hình sau vào cuối dòng.Điều này sẽ đặt tối đa xử lývàsố tệp mở tối đacho người dùngSolrđến 65000.
Lưu tệp và thoát khỏi trình chỉnh sửa khi hoàn tất.
Cuối cùng, hãy xác minh giới hạn (quy trình tối đa và số tệp mở tối đa) cho người dùng solr bằng cách thực hiện lệnh sau lệnh.
Nếu thành công, bây giờ bạn sẽ có ulimit quy trình tối đa và tệp mở tối đa cho người dùng solr được định cấu hình thành 65000.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22610%22%20height=%22519%22%3E%3C/svg%3E
Mở cấu hình Apache Solr mặc định /etc/default/solr.in.sh bằng lệnh trình soạn thảo nano bên dưới.
Điều chỉnh tùy chọn SOLR_HEAP mặc định với bộ nhớ tối đa được phép của bạn. Trong ví dụ này, bạn sẽ cho phép Apache Solr chạy và sử dụng bộ nhớ tối đa là 4GB.
Sau đó, bỏ chú thích các tùy chọn SOLR_HOST và SOLR_JETTY_HOST và nhập địa chỉ IP máy chủ của bạn. Trong ví dụ này, bạn sẽ chạy Apache Solr trong địa chỉ IP cục bộ 192.168.10.15.
Lưu và đóng tệp khi bạn hoàn tất.
Tiếp theo, chạy lệnh sau để khởi động lại dịch vụ solr và áp dụng các thay đổi bạn đã thực hiện.
Sau khi thực hiện lệnh, Apache Solr của bạn sẽ chạy trên địa chỉ IP máy chủ 192.168.10.15 và bộ nhớ heap tối đa sẽ là4 GB.
Khởi chạy trình duyệt web của bạn và truy cập địa chỉ IP máy chủ theo sau là cổng 8983, chẳng hạn như http://192.168.10.15:8983/. Bạn sẽ thấy trang bảng điều khiển Apache Solr như sau nếu mọi thứ được thực hiện đúng.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22491%22%3E%3C/svg%3E
Từ đó, bạn có thể thấy thư mục cài đặt Apache Solr /opt/solr đang chạy với Java OpenJDK 17.
Tạo tệp mới /var/solr/data/security.json bằng lệnh nano editor sau. Trong ví dụ này, thư mục dữ liệu mặc định cho Apache Solr là /var/solr/data/.
Chèn cấu hình sau vào tệp.
Lưu và đóng tệp khi bạn hoàn tất.
Bằng cách thực hiện thao tác này, bạn sẽ bảo mật Apache Solr thông qua sau:
Bây giờ hãy quay lại trình duyệt web của bạn và tải lại tab Apache Solr. Nếu mọi thứ thành công, bạn sẽ được chuyển hướng đến trang đăng nhập Solr như sau.
Đăng nhập bằng tên người dùng solr và mật khẩu SolrRocks.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22346%22%3E%3C/svg%3E
Nếu nỗ lực đăng nhập thành công, bạn sẽ thấy bảng điều khiển Apache Solr trên màn hình của mình.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22399%22%3E%3C/svg%3E
Mở tệp cấu hình Solr /etc/default/solr.in.sh bằng lệnh trình chỉnh sửa nano sau.
Bỏ chú thích các dòng sau để thiết lập xác thực Solr mặc định thông qua xác thực cơ bản và nhập tên người dùng solr và mật khẩu SolrRocks mà bạn đã đã tạo.
Lưu tệp và thoát khỏi trình chỉnh sửa khi bạn hoàn tất.
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.
Tiếp theo, thực hiện lệnh sau để tạo chỉ mục Solr đầu tiên của bạn test_core.
Sau khi chỉ mục được tạo, bạn sẽ thấy đầu ra mong đợi "Created new core 'test_core'" như sau:
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22128%22%3E%3C/svg%3E
Cuối cùng, quay lại bảng điều khiển Apache Solr của bạn. Sau đó, chọn test_core trên phần menu thả xuống Core Selector.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22205%22%20height=%22528%22%3E%3C/svg%3E
Sau khi hoàn tất, bạn sẽ thấy thông tin chi tiết về chỉ mục test_core như sau:
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22349%22%3E%3C/svg%3E
Trong hướng dẫn này, chúng tôi sẽ chỉ cho bạn các hướng dẫn từng bước về cách cài đặt Apache Solr trên máy chủ Debian 12. Bạn sẽ cài đặt Apache Solr với Java OpenJDK 17, bảo mật thông qua plugin BasicAuth, sau đó tìm hiểu cách tạo chỉ mục Solr bằng dòng lệnh.
Điều kiện tiên quyết
Trước khi tiếp tục, hãy kiểm tra các mục sau:- Máy chủ Debian 12 có ít nhất 4GB bộ nhớ.
- Người dùng không phải root có quyền quản trị viên sudo.
Cài đặt Java OpenJDK
Apache Solr là nền tảng tìm kiếm doanh nghiệp dựa trên Apache Lucene và chạy trên Java JRE (Java Runtime Environment). Hiện tại, Solr yêu cầu ít nhất Java JRE (Java Runtime Environment) phiên bản 11 và bạn sẽ sử dụng OpenJDK 17 có thể được cài đặt từ kho lưu trữ Debian.Trước khi bắt đầu, hãy thực hiện lệnh sau để cập nhật và làm mới chỉ mục gói Debian của bạn.
Mã:
sudo apt update
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22703%22%20height=%22163%22%3E%3C/svg%3E
Bây giờ hãy chạy lệnh sau để cài đặt Java OpenJDK vào máy Debian của bạn. Trong Debian 12, gói default-jdk tham chiếu đến Java OpenJDK 17, mà Apache Solr có thể sử dụng.
Mã:
sudo apt install default-jdk
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22221%22%3E%3C/svg%3E
Sau khi cài đặt hoàn tất, hãy xác minh phiên bản Java bằng cách thực hiện lệnh sau.
Mã:
java --version
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22735%22%20height=%22155%22%3E%3C/svg%3E
Tải xuống và cài đặt Apache Solr
Sau khi cài đặt Java OpenJDK, tiếp theo bạn sẽ tải xuống và cài đặt Apache Solr trên máy của mình thông qua tập lệnh cài đặt. Hiện tại, phiên bản mới nhất của Apache Solr là phiên bản 9.4. Truy cập trang tải xuống Apache Solr chính thức để biết thông tin về phiên bản mới nhất.Trước khi tải xuống Apache Solr, hãy cài đặt một số phụ thuộc bằng cách thực hiện lệnh sau.
Mã:
sudo apt install curl lsof bc
Mã:
curl -qO https://downloads.apache.org/solr/solr/9.4.0/solr-9.4.0.tgz
Mã:
tar xzf solr-9.4.0.tgz solr-9.4.0/bin/install_solr_service.sh --strip-components=2
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22292%22%3E%3C/svg%3E
Tiếp theo, thực hiện lệnh sau để cài đặt Apache Solr solr-9.4.0.tgz thông qua tập lệnh cài đặt install_solr_service.sh.
Mã:
sudo bash ./install_solr_service.sh solr-9.4.0.tgz
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22391%22%3E%3C/svg%3E
Từ hình ảnh, bạn sẽ thấy trạng thái chi tiết của cài đặt Apache Solr của mình:
- Thư mục cài đặt Apache Solr mặc định là /opt/solr với thư mục dữ liệu /var/solr.
- Người dùng hệ thống mới solr được tạo tự động, sẽ được sử dụng để chạy quy trình Apache Solr.
- Một tập lệnh dịch vụ mới có tên solr.service cũng được tạo, có thể được quản lý thông qua lệnh systemctl và service.
Mã:
sudo service solr status
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22169%22%3E%3C/svg%3E
Bạn cũng có thể sử dụng lệnh sau để khởi động lại hoặc dừng dịch vụ Solr.
Mã:
sudo service solr restart
sudo service solr stop
Cấu hình Apache Solr
Bây giờ bạn đã cài đặt Apache Solr. Ở bước tiếp theo, bạn sẽ thực hiện các bước sau:- Cấu hình Hệ thống Debian: Bạn sẽ điều chỉnh máy Debian của mình bằng cách tăng shmmax, nr_hugepages và giới hạn hệ thống cho cả quy trình tối đa và tệp mở.
- Cấu hình Solr: Bạn sẽ tăng bộ nhớ heap tối đa cho Solr và cấu hình một địa chỉ IP cục bộ cụ thể làm máy chủ Apache Solr.
Cấu hình Hệ thống Debian
Để tối ưu hóa Apache Solr, bạn phải tăng shmmax, nr_hugepages, quy trình tối đa và tệp mở tối đa trên máy Debian của mình.Thực hiện lệnh sau để tăng tham số hạt nhân shmmax và nr_hugepages trên Debian của bạn máy.
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
Cuối cùng, hãy xác minh giới hạn (quy trình tối đa và số tệp mở tối đa) cho người dùng solr bằng cách thực hiện lệnh sau lệnh.
Mã:
sudo -H -u solr bash -c "ulimit -aH"
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22610%22%20height=%22519%22%3E%3C/svg%3E
Cấu hình Apache Solr
Sau khi thực hiện các thay đổi cho máy Debian của bạn, bây giờ bạn sẽ sửa đổi cấu hình Apache Solr, thiết lập bộ nhớ heap tối đa thành 4 GB và chạy Solr trên một địa chỉ IP cục bộ cụ thể 192.168.10.15.Mở cấu hình Apache Solr mặc định /etc/default/solr.in.sh bằng lệnh trình soạn thảo nano bên dưới.
Mã:
sudo nano /etc/default/solr.in.sh
Mã:
SOLR_HEAP="4g"
Mã:
SOLR_HOST="192.168.10.15"
SOLR_JETTY_HOST="192.168.10.15"
Tiếp theo, chạy lệnh sau để khởi động lại dịch vụ solr và áp dụng các thay đổi bạn đã thực hiện.
Mã:
sudo service solr restart
Khởi chạy trình duyệt web của bạn và truy cập địa chỉ IP máy chủ theo sau là cổng 8983, chẳng hạn như http://192.168.10.15:8983/. Bạn sẽ thấy trang bảng điều khiển Apache Solr như sau nếu mọi thứ được thực hiện đúng.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22491%22%3E%3C/svg%3E
Từ đó, bạn có thể thấy thư mục cài đặt Apache Solr /opt/solr đang chạy với Java OpenJDK 17.
Bảo mật Apache Solr bằng Plugin BasicAuth
Trong phần này, bạn sẽ bảo mật Apache Solr bằng cách thêm xác thực thông qua plugin BasicAuth và tạo người dùng Solr mới. Để đạt được điều đó, bạn phải tạo cấu hình cụ thể, sau đó xác định mô-đun xác thực và mô-đun ủy quyền cho người dùng Solr.Tạo tệp mới /var/solr/data/security.json bằng lệnh nano editor sau. Trong ví dụ này, thư mục dữ liệu mặc định cho Apache Solr là /var/solr/data/.
Mã:
sudo nano /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ằng cách thực hiện thao tác này, bạn sẽ bảo mật Apache Solr thông qua sau:
- BasicAuthPlugin để xác thực người dùng và tạo người dùng solr mới với mật khẩu solrRocks.
- RuleBasedAuthorizationPlugin để xác thực và cấu hình người dùng solr làm quản trị viên có thể truy cập bất kỳ chỉ mục nào trong cài đặt Apache Solr của bạn.
Mã:
sudo service solr restart
Đăng nhập bằng tên người dùng solr và mật khẩu SolrRocks.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22346%22%3E%3C/svg%3E
Nếu nỗ lực đăng nhập thành công, bạn sẽ thấy bảng điều khiển Apache Solr trên màn hình của mình.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22399%22%3E%3C/svg%3E
Tạo chỉ mục đầu tiên cho Apache Solr
Lúc này, bạn đã hoàn tất quá trình cài đặt Apache Solr, giờ bạn có thể tạo chỉ mục Solr đầu tiên thông qua dòng lệnh. Nhưng trước đó, bạn phải đảm bảo rằng xác thực mặc định cho Solr đã được cấu hình.Mở tệp cấu hình Solr /etc/default/solr.in.sh bằng lệnh trình chỉnh sửa nano sau.
Mã:
sudo nano /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 systemctl bên dưới để khởi động lại dịch vụ solr và áp dụng các thay đổi.
Mã:
sudo service solr restart
Mã:
su - solr -c "/opt/solr/bin/solr create -c test_core -n TestCore"
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22128%22%3E%3C/svg%3E
Cuối cùng, quay lại bảng điều khiển Apache Solr của bạn. Sau đó, chọn test_core trên phần menu thả xuống Core Selector.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22205%22%20height=%22528%22%3E%3C/svg%3E
Sau khi hoàn tất, bạn sẽ thấy thông tin chi tiết về chỉ mục test_core như sau:
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22349%22%3E%3C/svg%3E