CentOS 7にSphinx検索エンジンをインストールする方法

Sphinxは無料でオープンソースの全文検索エンジンであり、さまざまなWebアプリケーションに統合して、高速で高品質の検索結果を提供できます。

この記事では、Vultr CentOS 7サーバーインスタンスでMariaDBデータベースの例を索引付けして検索するようにSphinx検索エンジンを設定する方法を示します。プロジェクトで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」の新しいパスワードを設定する必要があります。このチュートリアルでは、「yourpassword」と呼びます。

ステップ3:最新のSphinxをインストールする

Sphinxの最新バージョンをインストールするには、Sphinx公式Webサイトから適切な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デーモンを開始する

インデクサーと検索の両方がSphinxの重要なコンポーネントです。インデクサーはデータソースからのデータ収集を担当し、searchdは実際に検索を処理する検索エンジンの一部です。

以下のコマンドを順番どおりに実行してください。そうしないと、エラーが発生します。

sudo indexer --all
sudo searchd

インデックスのステータスを定期的に更新するには、cronジョブを作成します。

sudo crontab -e

次のエントリを入力します。

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

保存して終了:

:wq

このcronジョブは、インデックスのステータスを1時間ごとに更新します。

ステップ7:Sphinx検索エンジンをテストする

定義済みのPythonスクリプトを使用して、Sphinxの設定をテストできます。

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

このコマンドは、MySQLデータベースの例で「これは私のテストドキュメントです」を検索し、検索結果を表示します。

これでこのチュートリアルは終了です。Sphinxには、独自のPHP、Perl、Python、Ruby、またはJavaプロジェクトから使用できる検索APIも含まれています。詳細については、Sphinxの公式Webサイトを参照してください。



Leave a Comment

CentOS 7にApacheをインストールする方法

CentOS 7にApacheをインストールする方法

CentOS 7サーバーにApache 2.4をインストールする方法を説明します。安定したウェブサーバーを構築するための前提条件と手順を解説します。

FreeBSD 11.1にBlacklistdをインストールする方法

FreeBSD 11.1にBlacklistdをインストールする方法

FreeBSD 11.1におけるBlacklistdのインストール方法について詳しく解説します。この方法を通じて、強力なセキュリティ対策を実装できます。

Windows Serverのサーバーマネージャーを使用した複数サーバーの管理

Windows Serverのサーバーマネージャーを使用した複数サーバーの管理

サーバーマネージャーを使用して、Windows Serverの管理が向上します。セキュリティリスクを軽減し、効率的な管理を実現します。

CentOS 7にSeafileサーバーをインストールする方法

CentOS 7にSeafileサーバーをインストールする方法

CentOS 7にSeafileサーバーをインストールする方法。Seafile(コミュニティバージョン)は、ownCloudに似た無料のオープンソースファイル同期および共有ソリューションです。

DebianでSnortを設定する方法

DebianでSnortを設定する方法

Snortは無料のネットワーク侵入検知システムです。最新の方法で、SnortをDebianにインストールし、設定する手順を紹介します。ネットワークのセキュリティを強化しましょう。

CentOS 7にGraylogサーバーをインストールする方法

CentOS 7にGraylogサーバーをインストールする方法

CentOS 7にGraylogサーバーをインストールし、ログ管理を行う方法を学びます。

WindowsでhMailServerを使用してメールサーバーを構築する

WindowsでhMailServerを使用してメールサーバーを構築する

WindowsサーバーでWebサイトを実行している場合、電子メールも受信できるようにするためにhMailServerを使用する方法を解説します。

Ubuntu 19.04にFiveMサーバーをインストールする方法

Ubuntu 19.04にFiveMサーバーをインストールする方法

FiveMサーバーをUbuntu 19.04にインストールするための詳細なガイド。必要条件からインストール、起動、トラブルシューティングまで、すべてのステップを含みます。

WsgiDAVを使用してDebian 10にWebDAVをデプロイする

WsgiDAVを使用してDebian 10にWebDAVをデプロイする

Debian 10にWebDAVをデプロイする方法を学び、WsgiDAVとSSL証明書で安全な接続を実現しましょう。

ヘルスケア2021における人工知能の影響

ヘルスケア2021における人工知能の影響

ヘルスケアにおけるAIは、過去数十年から大きな飛躍を遂げました。したがって、ヘルスケアにおけるAIの未来は、日々成長を続けています。