Position actuelle: Accueil> Derniers articles> Guide de développement de recherche PHP et Manticore: améliorer la précision de la recherche avec les extensions de la requête

Guide de développement de recherche PHP et Manticore: améliorer la précision de la recherche avec les extensions de la requête

M66 2025-06-07

introduction

Avec l'explosion du volume d'informations, les exigences des utilisateurs pour l'expérience de recherche augmentent également. Manticore Search est un moteur de recherche en texte complet open source haute performance qui combine des capacités de développement PHP pour créer un système de recherche réactif et précis. Cet article se concentrera sur la pratique intégrée des deux et introduira progressivement le processus de développement de la construction de l'environnement, la création d'index à l'utilisation de l'extension de la requête pour améliorer la précision de la recherche.

Préparation de l'environnement: recherche PHP et Manticore

Pour démarrer le développement, vous devez d'abord vous assurer que le serveur de recherche Manticore est installé et que les modules d'extension pertinents sont activés en PHP. Ajoutez la ligne suivante dans le fichier de configuration PHP PHP.ini pour charger l'extension:

 <span class="fun">extension = manticore.SO</span>

Après avoir terminé la configuration, redémarrez simplement le service PHP.

Créer un index de recherche et ajouter des données

Avant de rechercher réellement, vous devez créer un index de base. Par exemple, nous pouvons créer un index appelé articles et définir des champs qui doivent être recherchés en texte intégral, tels que le titre et le contenu. Voici un exemple de code pour créer un index et ajouter des exemples de données:

 // Créer un index
$index = 'articles';
$query = 'CREATE TABLE ' . $index . ' (title text, content text)';
$result = $conn->query($query);

// Ajouter des données
$query = 'INSERT INTO ' . $index . ' (title, content) VALUES ("Lorem Ipsum", "Lorem ipsum dolor sit amet, consectetur adipiscing elit.")';
$result = $conn->query($query);

Effectuer une requête de recherche

Après avoir ajouté des données à l'index, vous pouvez effectuer une opération de recherche. Manticore prend en charge la syntaxe de correspondance pour les requêtes de correspondance en texte intégral. Ce qui suit est un exemple de logique de recherche de base:

 // Effectuer une requête de recherche
$index = 'articles';
$query = 'SELECT * FROM ' . $index . ' WHERE MATCH(\'Lorem\')';
$result = $conn->query($query);

// Résultat de sortie
if ($result && $result->num_rows > 0) {
    while ($row = $result->fetch_assoc()) {
        echo 'titre:' . $row['title'] . '<br>';
        echo 'contenu:' . $row['content'] . '<br>';
    }
} else {
    echo 'Aucun résultat pertinent trouvé。';
}

Cette requête renverra des enregistrements pertinents contenant le mot-clé "Lorem" et localisera rapidement le contenu correspondant.

Utilisez une extension de requête pour optimiser les résultats de recherche

Pour améliorer davantage la pertinence des résultats de recherche, la fonction d'extension de requête peut être activée. Par exemple, un STEMMER peut restaurer les mots clés à ses racines, améliorant efficacement la précision de correspondance.

L'exemple suivant montre comment ajouter une extension de requête à un index:

 // Ajouter une extension de requête
$index = 'articles';
$query = 'ALTER TABLE ' . $index . ' ADD QUERY EXPANSION stemmer';
$result = $conn->query($query);

Lorsqu'il est activé, spécifiez le nom d'extension lors de l'exécution de la requête:

 // utiliser stemmer Extensions de requête pour la recherche
$index = 'articles';
$query = 'SELECT * FROM ' . $index . ' WHERE MATCH(\'Lorem\') OPTION query_expansion=stemmer';
$result = $conn->query($query);

Grâce à cette méthode, la recherche effectuera automatiquement un traitement en tige pour améliorer l'étendue et la précision de la correspondance des mots clés.

Conclusion

L'intégration de la recherche PHP et Manticore est une solution efficace pour créer des systèmes de recherche haute performance. De la création d'index de base à l'optimisation de la logique de recherche à l'aide d'extensions de requête, les développeurs peuvent répondre de manière flexible aux besoins de recherche dans divers scénarios commerciaux. À l'avenir, dans le commerce électronique, les blogs, les forums et autres plateformes, la fonction de recherche basée sur cette solution aura une expérience utilisateur et une valeur pratique plus élevées.