Comment installer le moteur de recherche Sphinx sur CentOS 7

Sphinx est un moteur de recherche en texte intégral gratuit et open source qui peut être intégré dans diverses applications Web pour fournir des résultats de recherche rapides et de haute qualité.

Cet article vous montrera comment configurer un moteur de recherche Sphinx pour indexer et rechercher un exemple de base de données MariaDB sur une instance de serveur Vultr CentOS 7. Il vous donnera quelques idées préliminaires sur la façon d'utiliser Sphinx dans votre projet.

Conditions préalables

  • Déployez une nouvelle instance de serveur CentOS 7 à partir du panneau de configuration Vultr.
  • Utilisez un utilisateur sudo non root pour vous connecter à partir de votre terminal SSH. Découvrez comment créer un utilisateur sudo dans cet article .

Étape 1: mettez à jour votre système

sudo yum update -y && sudo reboot

Une fois le redémarrage du système terminé, utilisez le même utilisateur sudo pour vous reconnecter.

Étape 2: installer et configurer MariaDB

Sphinx peut être utilisé pour rechercher diverses sources de données, telles que des bases de données SQL, des fichiers texte, des fichiers HTML, etc. Ici, voyons comment utiliser Sphinx pour effectuer des recherches sur une base de données MariaDB.

Installez MariaDB à l'aide de YUM:

sudo yum install mariadb mariadb-server

Démarrez le service MariaDB:

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

Pour des raisons de sécurité, effectuez l'installation sécurisée de MySQL:

sudo /usr/bin/mysql_secure_installation

Terminez cette procédure conformément aux instructions suivantes:

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

Une fois l'installation sécurisée de MySQL terminée, vous devrez définir un nouveau mot de passe pour l'utilisateur MySQL "root". Dans ce tutoriel, je vais l'appeler "votre mot de passe".

Étape 3: installez le dernier Sphinx

Pour installer la dernière version de Sphinx, vous devez télécharger le package rpm approprié depuis le site officiel de Sphinx:

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

Étape 4: créer une base de données pour les tests

Utilisez les commandes MySQL suivantes pour créer une base de données nommée "test":

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

Lorsque vous êtes invité à fournir un mot de passe, saisissez celui que vous avez défini précédemment, puis appuyez sur Entrée.

Maintenant, importez les données de test à partir d'un exemple de fichier sql Sphinx:

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

Saisissez à nouveau le même mot de passe, puis appuyez sur Entrée pour terminer l'importation.

Étape 5: configurer Sphinx

Ouvrez le fichier de configuration Sphinx /etc/sphinx/sphinx.conf:

sudo vi /etc/sphinx/sphinx.conf

Pour l'instant, il vous suffit de configurer le nom d'utilisateur sql_useret le mot de passe MySQL sql_pass, qui seraient:

sql_user                = root
sql_pass                = yourpassword

Sauvegarder et quitter:

:wq

Étape 6: démarrer l'indexeur et les démons searchd

Indexer et searchd sont tous deux des composants importants de Sphinx. Indexer est chargé de collecter les données à partir de la source de données, et searchd est la partie du moteur de recherche qui gère réellement les recherches.

Assurez-vous d'exécuter les commandes suivantes dans l'ordre, sinon vous rencontrerez des erreurs.

sudo indexer --all
sudo searchd

Pour mettre à jour régulièrement le statut de l'index, créez un travail cron:

sudo crontab -e

Saisissez l'entrée suivante:

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

Sauvegarder et quitter:

:wq

Ce travail cron mettra à jour le statut de l'index toutes les heures.

Étape 7: Testez votre moteur de recherche Sphinx

Vous pouvez utiliser un script python prédéfini pour tester votre configuration de Sphinx:

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

Cette commande recherchera "ceci est mon document de test" dans l'exemple de base de données MySQL, puis vous montrera le résultat de la recherche.

Cela conclut ce didacticiel. Sphinx comprend également une API de recherche, qui peut être utilisée à partir de vos propres projets PHP, Perl, Python, Ruby ou Java. Plus d'informations sont disponibles sur le site officiel de Sphinx.



Leave a Comment

LIA peut-elle lutter contre un nombre croissant dattaques de ransomware

LIA peut-elle lutter contre un nombre croissant dattaques de ransomware

Les attaques de ransomware sont en augmentation, mais l'IA peut-elle aider à lutter contre le dernier virus informatique ? L'IA est-elle la réponse ? Lisez ici, sachez que l'IA est un boone ou un fléau

ReactOS : est-ce lavenir de Windows ?

ReactOS : est-ce lavenir de Windows ?

ReactOS, un système d'exploitation open source et gratuit est ici avec la dernière version. Cela peut-il suffire aux besoins des utilisateurs de Windows modernes et faire tomber Microsoft ? Découvrons-en plus sur cet ancien style, mais une expérience de système d'exploitation plus récente.

Restez connecté via lapplication de bureau WhatsApp 24 * 7

Restez connecté via lapplication de bureau WhatsApp 24 * 7

Whatsapp a finalement lancé l'application de bureau pour les utilisateurs Mac et Windows. Vous pouvez désormais accéder facilement à Whatsapp depuis Windows ou Mac. Disponible pour Windows 8+ et Mac OS 10.9+

Comment lIA peut-elle faire passer lautomatisation des processus au niveau supérieur ?

Comment lIA peut-elle faire passer lautomatisation des processus au niveau supérieur ?

Lisez ceci pour savoir comment l'intelligence artificielle devient populaire parmi les petites entreprises et comment elle augmente les probabilités de les faire grandir et de donner à leurs concurrents un avantage.

La mise à jour du supplément macOS Catalina 10.15.4 cause plus de problèmes quelle nen résout

La mise à jour du supplément macOS Catalina 10.15.4 cause plus de problèmes quelle nen résout

Récemment, Apple a publié macOS Catalina 10.15.4, une mise à jour supplémentaire pour résoudre les problèmes, mais il semble que la mise à jour cause davantage de problèmes, ce qui entraîne le bridage des machines mac. Lisez cet article pour en savoir plus

13 outils commerciaux dextraction de données de Big Data

13 outils commerciaux dextraction de données de Big Data

13 outils commerciaux d'extraction de données de Big Data

Quest-ce quun système de fichiers de journalisation et comment fonctionne-t-il ?

Quest-ce quun système de fichiers de journalisation et comment fonctionne-t-il ?

Notre ordinateur stocke toutes les données d'une manière organisée connue sous le nom de système de fichiers de journalisation. C'est une méthode efficace qui permet à l'ordinateur de rechercher et d'afficher des fichiers dès que vous appuyez sur la recherche.https://wethegeek.com/?p=94116&preview=true

Singularité technologique : un futur lointain de la civilisation humaine ?

Singularité technologique : un futur lointain de la civilisation humaine ?

Alors que la science évolue à un rythme rapide, prenant le pas sur une grande partie de nos efforts, les risques de nous soumettre à une Singularité inexplicable augmentent également. Lisez, ce que la singularité pourrait signifier pour nous.

Un aperçu de 26 techniques danalyse des mégadonnées : partie 1

Un aperçu de 26 techniques danalyse des mégadonnées : partie 1

Un aperçu de 26 techniques d'analyse des mégadonnées : partie 1

Limpact de lintelligence artificielle dans les soins de santé 2021

Limpact de lintelligence artificielle dans les soins de santé 2021

L'IA dans le domaine de la santé a fait de grands progrès au cours des dernières décennies. Ainsi, l'avenir de l'IA dans les soins de santé continue de croître de jour en jour.