Chào Mọi Người.
Hôm nay mình sẽ hướng dẫn mọi người cài đặt Sphinx Search Engine trên CentOS 7.
Giới Thiệu.
Sphinx Search Engine là một opensource full-text search engine được viết bằng ngôn ngữ C++ với mục đích ngay từ ban đầu là chú trọng vào hiệu suất, khả năng tích hợp. Sphinx Search Engine có thể hoạt động được trên Linux ( RedHat, Ubuntu, … ), Windows, MacOS, Solaris, FreeBSD,…
Cài Đặt.
Chuẩn Bị.
- Một VPS/Server được cài đặt CentOS 7.
- Tài khoản Root hoặc có quyền sudo trên VPS/Server ở trên.
Cài Đặt.
Đầu tiên ta sẽ tiến hành cài đặt MariaDB.
yum install mariadb mariadb-server -y
Sau đó tiến hành khởi động MariaDB.
systemctl start mariadb.service
systemctl enable mariadb.service
Tiếp theo ta sẽ cần khởi tạo password Root cho MariaDB bằng câu lệnh :
/usr/bin/mysql_secure_installation
Đầu tiên, MariaDB sẽ hỏi password root hiện tại của MariaDB, mặc định sau khi cài đặt thì Password Root của MariaDB chưa được đặt nên ta sẽ nhấn enter.
Chọn “Y” khi được hỏi có muốn set Password Root hay không rồi tiến hành điền Password Root theo ý muốn.
Tiếp theo sẽ có một số tùy chọn như có muốn xóa Anomymous User, tắt Remote MySQL với User Root, xóa database test và Reload lại Privileges Tables. Ở đây mình sẽ chọn Yes hết.
Như vậy là ta đã đặt mật khẩu Root cho MariaDB xong. Tiếp theo ta sẽ cài đặt Sphinx.
Đầu tiên download file rpm của Sphinix.
wget http://sphinxsearch.com/files/sphinx-2.3.2-1.rhel7.x86_64.rpm
Sau đó tiến hành cài đặt.
yum -y install sphinx-2.3.2-1.rhel7.x86_64.rpm
Tới đây ta sẽ tạo một Database Test với dữ liệu dùng để test của Sphinx.
mysql -u root -p
CREATE DATABASE test;
use test;
SOURCE /usr/share/doc/sphinx-2.3.2/example.sql;
Sau đó cấu hình cho Sphinx hết nối tới database “test” được tạo trên MariaDB với User đã tạo ở bước trên.
Tiếp theo chạy lệnh để Sphinx tiến hành indexer.
indexer --all
Tiến hành khởi động Sphinx.
systemctl start searchd.service
systemctl status searchd.service
Sử dụng python script có sẵn của Sphinx để tiến hành kiểm tra lại.
python /usr/share/sphinx/api/test.py this is my test document
Bài viết của mình về cấu hình Sphinx Search Engine dựa theo kinh nghiệm và tìm hiểu tới đây là hết, cảm ơn mọi người đã theo dõi.
Chú ý.
Mọi người có thể gặp lỗi sau khi tiến hành khởi động Sphinx.
Job for searchd.service failed because a timeout was exceeded. See "systemctl status searchd.service" and "journalctl -xe" for details.
Để sửa lỗi này ta sẽ chạy câu lệnh sau :
sed -i "s/TimeoutStartSec=infinity/TimeoutStartSec=0/" /usr/lib/systemd/system/searchd.service
systemctl daemon-reload