如何在CentOS 7上安装Sphinx搜索引擎

Sphinx是免费的开源全文搜索引擎,可以集成到各种Web应用程序中以提供快速和高质量的搜索结果。

本文将向您展示如何设置Sphinx搜索引擎以在Vultr CentOS 7服务器实例上建立索引并搜索示例MariaDB数据库。它将为您提供有关如何在项目中使用Sphinx的一些初步想法。

先决条件

  • 从Vultr控制面板部署新的CentOS 7服务器实例。
  • 使用非root用户sudo用户从SSH终端登录。在本文中了解如何创建sudo用户。

步骤1:更新系统

sudo yum update -y && sudo reboot

系统重新启动完成后,使用相同的sudo用户再次登录。

步骤2:安装和配置MariaDB

Sphinx可用于搜索各种数据源,例如SQL数据库,纯文本文件,HTML文件等。在这里,让我们看一下如何使用Sphinx对MariaDB数据库执行搜索。

使用YUM安装MariaDB:

sudo yum install mariadb mariadb-server

启动MariaDB服务:

sudo systemctl start mariadb.service
sudo systemctl enable mariadb.service

为了安全起见,请执行安全的MySQL安装:

sudo /usr/bin/mysql_secure_installation

按照以下说明完成此过程:

Enter current password for root (enter for none): Press Enter
Set root password? [Y/n]: Input Y, then press Enter
New password: Input a new password for root, press Enter
Re-enter new password: Input the same password again, then press Enter
Remove anonymous users? [Y/n]: Input Y, then press Enter
Disallow root login remotely? [Y/n]: Input Y, then press Enter
Remove test database and access to it? [Y/n]: Input Y, then press Enter
Reload privilege tables now? [Y/n]: Input Y, then press Enter

安全的MySQL安装完成后,您将必须为MySQL用户“ root”设置一个新密码。在本教程中,我将其称为“您的密码”。

步骤3:安装最新的Sphinx

为了安装最新版本的Sphinx,您需要从Sphinx官方网站下载适当的rpm软件包:

cd ~
wget http://sphinxsearch.com/files/sphinx-2.2.10-1.rhel7.x86_64.rpm
sudo yum install sphinx-2.2.10-1.rhel7.x86_64.rpm

步骤4:创建数据库进行测试

使用以下MySQL命令创建一个名为“ test”的数据库:

mysql -u root -p -e "CREATE DATABASE test"

当要求您提供密码时,输入之前设置的密码,然后按Enter。

现在,从Sphinx示例sql文件中导入测试数据:

mysql -u root -p test < /usr/share/doc/sphinx-2.2.10/example.sql

再次输入相同的密码,然后按Enter键完成导入。

步骤5:配置Sphinx

打开Sphinx配置文件/etc/sphinx/sphinx.conf

sudo vi /etc/sphinx/sphinx.conf

现在,您只需要设置MySQL用户名sql_user和密码sql_pass,即:

sql_user                = root
sql_pass                = yourpassword

保存并退出:

:wq

步骤6:启动���引器和searchd守护程序

索引器和searchd都是Sphinx的重要组件。索引器负责从数据源收集数据,而searchd是搜索引擎中实际处理搜索的部分。

确保按顺序运行以下命令,否则会遇到错误。

sudo indexer --all
sudo searchd

要定期更新索引状态,请创建一个cron作业:

sudo crontab -e

输入以下条目:

0 * * * * /usr/bin/indexer --rotate --config /etc/sphinx/sphinx.conf --all

保存并退出:

:wq

此cron作业将每小时更新一次索引状态。

步骤7:测试您的Sphinx搜索引擎

您可以使用预定义的python脚本来测试Sphinx的设置:

python /usr/share/sphinx/api/test.py this is my test document

该命令将在示例MySQL数据库中搜索“这是我的测试文档”,然后向您显示搜索结果。

本教程到此结束。Sphinx还包括一个搜索API,可从您自己的PHP,Perl,Python,Ruby或Java项目中使用。有关更多信息,请访问Sphinx官方网站。



Leave a Comment

AI 能否應對越來越多的勒索軟件攻擊?

AI 能否應對越來越多的勒索軟件攻擊?

勒索軟件攻擊呈上升趨勢,但人工智能能否幫助應對最新的計算機病毒?AI 是答案嗎?在這裡閱讀知道是 AI 布恩還是禍根

ReactOS:這是 Windows 的未來嗎?

ReactOS:這是 Windows 的未來嗎?

ReactOS,一個開源和免費的操作系統,這裡有最新版本。它能否滿足現代 Windows 用戶的需求並打倒微軟?讓我們更多地了解這種老式但更新的操作系統體驗。

通過 WhatsApp 桌面應用程序 24*7 保持聯繫

通過 WhatsApp 桌面應用程序 24*7 保持聯繫

Whatsapp 終於為 Mac 和 Windows 用戶推出了桌面應用程序。現在您可以輕鬆地從 Windows 或 Mac 訪問 Whatsapp。適用於 Windows 8+ 和 Mac OS 10.9+

人工智能如何將流程自動化提升到新的水平?

人工智能如何將流程自動化提升到新的水平?

閱讀本文以了解人工智能如何在小型公司中變得流行,以及它如何增加使它們成長並為競爭對手提供優勢的可能性。

macOS Catalina 10.15.4 補充更新引發的問題多於解決

macOS Catalina 10.15.4 補充更新引發的問題多於解決

最近,Apple 發布了 macOS Catalina 10.15.4 補充更新以修復問題,但似乎該更新引起了更多問題,導致 mac 機器變磚。閱讀這篇文章以了解更多信息

大數據的13個商業數據提取工具

大數據的13個商業數據提取工具

大數據的13個商業數據提取工具

什麼是日誌文件系統,它是如何工作的?

什麼是日誌文件系統,它是如何工作的?

我們的計算機以稱為日誌文件系統的有組織的方式存儲所有數據。這是一種有效的方法,可以讓計算機在您點擊搜索時立即搜索和顯示文件。 https://wethegeek.com/?p=94116&preview=true

技術奇點:人類文明的遙遠未來?

技術奇點:人類文明的遙遠未來?

隨著科學的快速發展,接管了我們的大量工作,我們陷入無法解釋的奇點的風險也在增加。閱讀,奇點對我們意味著什麼。

洞察 26 種大數據分析技術:第 1 部分

洞察 26 種大數據分析技術:第 1 部分

洞察 26 種大數據分析技術:第 1 部分

2021 年人工智能對醫療保健的影響

2021 年人工智能對醫療保健的影響

過去幾十年,醫療保健領域的人工智能取得了巨大飛躍。因此,醫療保健中人工智能的未來仍在日益增長。