Comment installer et configurer sphinx sur Ubuntu 16.04, 14.04

Comment installer et configurer sphinx sur Ubuntu 16.04, 14.04

Sphinx est un serveur de recherche en texte intégral simple, pertinent et open source. Il est écrit en langage de programmation C ++ et fonctionne avec Linux et d'autres systèmes d'exploitation populaires. Ce tutoriel vous aidera à installer et à configurer le serveur de recherche en texte complet Sphinx sur Ubuntu 16.04, 14.04 Systèmes d'exploitation LTS.

Conditions préalables

Avant de commencer ce guide, vous devez avoir les suivants.

  • Serveur Ubuntu avec accès sudo
  • Server MySQL pré-installé

Étape 1 - Installer Sphinx

L'installation de Sphinx sur Ubuntu est facile car elle est dans le référentiel de packages natifs. Installez-le à l'aide du gestionnaire de packages APT-Get sur votre système Ubuntu.

sudo add-att-repository ppa: builds / sphinxsearch-rel22 sudo apt-get update sudo apt-get install sphinxsearch 

Étape 2 - Importer la base de données MySQL

Importons l'exemple de fichier SQL dans la base de données.Tout d'abord, créez une base de données nommée Test dans votre serveur MySQL, après cela, restaurez la base de données fournie par le package de recherche Sphinx.

sudo mysqladmin -u root -p Créer un test sudo mysql -u root -p test < /usr/share/doc/sphinxsearch/example-conf/example.sql 

Étape 3 - Configurer Sphinx

Modifier la configuration de Sphinx comme ci-dessous et modifier la configuration de la connexion MySQL comme indiqué ci-dessous.

sudo vi / etc / sphinxsearch / sphinx.confli 
Source SRC1 # Type de source de données. obligatoire, aucune valeur par défaut # les types connus sont MySQL, PGSQL, MSSQL, XMLPIPE, XMLPIPE2, ODBC Type = MySQL ######################### ############################################ ## SQL (pour 'MySQL types 'et' pgsql ') ########################################### ############################ # Quelques paramètres simples pour les types de source SQL sql_host = localhost sql_user = root sql_pass = secret sql_db = test sql_port = 3306 # # # # Facultatif, la valeur par défaut est 3306 

Étape 4 - Indexeur exécuté

Exécutez l'indexeur pour créer l'index complet à partir de vos données. L'indexeur est le premier des deux outils principaux dans le cadre de Sphinx. Cela fonctionne pour la collecte des données qui seront consultables. Vous verrez les résultats comme ci-dessous.

indexer sudo - tout sphinx 2.2.11-ID64-Release (95AE9A6) Copyright (C) 2001-2016, Andrew Aksyonoff Copyright (C) 2008-2016, Sphinx Technologies Inc (http: // sphinxsearch.com) Utilisation du fichier config '/ etc / sphinxsearch / sphinx.conf '… indexing index' test1 '… collecté 4 documents, 0.0 Mb trié 0.0 mhits, 100.0% fait au total 4 documents, 193 octets total 0.006 sec, 30791 octets / sec, 638.16 Docs / Sec Indexing Index 'Test1stemMed'… collecté 4 documents, 0.0 Mb trié 0.0 mhits, 100.0% fait au total 4 documents, 193 octets total 0.001 sec, 99382 octets / sec, 2059.73 DOCS / SEC SATINER INDEX NON PLAINE 'DIST1'… SAUTER INDEX NON PLAINE 'RT'… TOTAL 8 LECTES, 0.000 secondes, 0.1 kb / appel avg, 0.0 msec / appel avg total 24 écritures, 0.000 secondes, 0.1 kb / appel avg, 0.0 msec / appel avg 

Étape 5 - Démarrage du sphinx

Configurez également votre serveur Sphinx pour démarrer automatiquement sur le démarrage du système. Utilisez la commande ci-dessous pour définir Démarrer sur oui.

sudo sed -i's / start = no / start = yes / g '/ etc / default / sphinxSearch 

Maintenant, commencez également le service pour la première fois et vérifiez le statut.

Service SphinxSearch Démarrer le service SphinxSearch Statut 

Vous pouvez également configurer l'indexeur de votre crontab pour l'exécuter sur un intervalle régulier. Le crontab ci-dessous fonctionnera à chaque heure.

0 * * * * / usr / bin / indexeur - rotate - tout 

Étape 6 - Travailler avec Sphinx

Exécutons quelques requêtes sur votre serveur Sphinx. Connectez-vous d'abord au serveur MySQL Sphinx en utilisant l'OCMMand suivant.

mysql -h0 -p9306 

Maintenant, exécutez une commande une par une ci-dessous et voyez les modifications. C'est pour votre propre apprentissage uniquement.

mysql> select * from test1 where Match ('document'); mysql> insérer dans les valeurs RT (1, «ajout», «exemple de texte ici», 11); MySQL> INSERT dans les valeurs RT (2, «Ajouter un peu plus», «Exemple de texte ici», 22); MySQL> SELECT GID / 11 FROM RT WHERE WHERE ('Sample') GROUP BY GID; MySQL> SELECT * FROM RT ORDER par GID DESC; MySQL> SELECT *, poids () dans Test1 Where Match ("" Document One "/ 1 '); MySQL> Show Meta; mysql> set profiling = 1; MySQL> SELECT * FROM TEST1 WHERE ID dans (1,2,4); mysql> show profil; MySQL> SELECT ID, ID% 3 IDD dans TEST1 WHERE MATCH («Ceci est | rien») par idd; mysql> show profil; MySQL> Sélectionnez ID dans TEST1 Where Match ('est-ce un bon plan?'); MySQL> Plan Show; mysql> SELECT COUNT (*) FROM TEST1; MySQL> Call Mots de mots clés («One Two Three», «Test1»); MySQL> Call Mots de mots clés («One Two Three», «Test1», 1); mysql> show tables;