Position actuelle: Accueil> Derniers articles> Un guide complet de la mise en œuvre de la recherche de haute disponibilité SPHINX

Un guide complet de la mise en œuvre de la recherche de haute disponibilité SPHINX

M66 2025-06-25

Un guide complet de la mise en œuvre de la recherche de haute disponibilité SPHINX

Introduction: Sphinx est un moteur de recherche en texte complet open source qui fournit des solutions de recherche rapides, précises et évolutives. L'intégration de Sphinx dans les sites Web PHP permet une haute disponibilité et d'excellentes capacités de recherche de performances. Cet article discutera en détail de la façon d'utiliser SPHINX dans un environnement PHP et de donnera des étapes d'implémentation détaillées et des exemples de code.

Introduction à Sphinx

Sphinx est un moteur de recherche en texte intégral développé par C ++, en se concentrant sur la recherche rapide et précise de grandes quantités de données de texte. Il prend en charge les architectures distribuées, permettant la mise à l'échelle horizontale et la haute disponibilité via plusieurs nœuds. Les principales caractéristiques de Sphinx comprennent:

  1. Recherche de texte intégral et filtrage des attributs: Prise en charge de la recherche en texte intégral et du filtrage d'attribut pour améliorer l'efficacité de la recherche.
  2. Haute performance: SPHINX a des capacités d'indexation et de recherche à grande vitesse et peut gérer des données à grande échelle.
  3. Mise à jour en temps réel: Une fois les modifications de données, l'index peut être mis à jour instantanément pour garantir la vitesse des résultats de recherche.
  4. Haute disponibilité: les fonctions d'équilibrage de charge et de récupération des catastrophes sont obtenues via des clusters multi-nœuds.

Application Sphinx en php

Il fournit aux développeurs PHP une interface client Sphinx, qui peut facilement intégrer le moteur de recherche Sphinx dans le site Web et atteindre des fonctions de recherche efficaces. Ensuite, nous présenterons comment utiliser Sphinx dans un environnement PHP et expliquer les étapes de mise en œuvre spécifiques à travers un exemple de code.

Installer sphinx

Tout d'abord, vous devez installer Sphinx sur votre serveur Linux. Vous pouvez utiliser la commande suivante pour installer:

 sudo apt-get update
sudo apt-get install sphinxsearch

Données indexées

Sphinx nous oblige à indexer les données que nous devons récupérer avant d'utiliser la fonction de recherche. Supposons que nous ayons une table de base de données contenant des informations utilisateur et que les champs incluent l'ID, le nom et l'âge. Nous pouvons importer les données de cette table dans l'index Sphinx via le script PHP:

 
<?php
$dsn = 'mysql:host=localhost;dbname=test';
$username = 'username';
$password = 'password';
<p>try {<br>
$db = new PDO($dsn, $username, $password);<br>
$query = $db->query('SELECT * FROM users');<br>
$users = $query->fetchAll(PDO::FETCH_ASSOC);</p>
$index->setFields(['id', 'name', 'age']);

foreach ($users as $user) {
    $document = new SphinxDocument();
    $document->setAttributes($user);
    $index->addDocument($document);
}

$index->build();

} catch (pDoException $ e) {
Echo 'La connexion a échoué:'. $ e-> getMessage ();
}
?>

Rechercher des données

Une fois l'index de données terminé, l'étape suivante consiste à implémenter la fonction de recherche dans la page frontale via PHP. Voici un exemple de page de recherche simple:

 
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>Sphinx Search</title>
</head>
<body>
    <form action="search.php" method="GET">
        <input type="text" name="keyword" placeholder="Veuillez saisir les mots clés">
        <input type="submit" value="recherche">
    </form>
    <?php
    if (isset($_GET['keyword'])) {
        $keyword = $_GET['keyword'];
        $sphinx = new SphinxClient();
        $sphinx->setServer('localhost', 9312);
    if ($result['total'] > 0) {
        foreach ($result['matches'] as $match) {
            echo $match['attrs']['name'] . '<br>';
        }
    } else {
        echo 'Aucun résultat pertinent trouvé';
    }
}
?>

Résumer

Grâce à cet article, vous pouvez mettre en œuvre avec succès la haute disponibilité et les fonctions de recherche haute performance du moteur de recherche Sphinx dans les projets PHP. Tout d'abord, installez Sphinx sur le serveur, puis effectuez l'indexation des données et enfin implémentez la fonction de recherche via le client PHP. SPHINX fournit aux développeurs des capacités de recherche en texte intégral puissantes et une haute disponibilité, ce qui peut offrir aux utilisateurs une expérience de recherche rapide et précise.

(Remarque: pendant l'application réelle, veuillez ajuster et optimiser le code en fonction de vos besoins.)