Maison > Article > développement back-end > Développement de recherche PHP et Manticore : améliorations clés des performances pour optimiser les résultats de recherche
Développement PHP et Manticore Search : ajustements clés des performances pour optimiser les résultats de recherche
Introduction : À l'ère du big data, les ajustements clés des performances pour optimiser les résultats de recherche sont très importants. Cet article explique comment y parvenir en développant avec PHP et Manticore Search, et fournit des exemples de code.
Introduction :
Avec le développement rapide d'Internet, les moteurs de recherche sont devenus l'un des principaux moyens permettant aux internautes d'obtenir des informations. Par conséquent, comment améliorer la précision, la rapidité et l’expérience utilisateur des résultats de recherche est devenu une préoccupation importante pour les entreprises et les développeurs.
PHP est un langage de script côté serveur populaire largement utilisé pour le développement Web. Manticore Search est un moteur de recherche open source hautes performances entièrement compatible avec le moteur de recherche Sphinx et doté de nouvelles fonctionnalités et améliorations.
Dans cet article, nous nous concentrerons sur les principaux ajustements de performances pour le développement avec PHP et Manticore Search afin d'optimiser les résultats de recherche.
Première partie : Installer et configurer Manticore Search
Tout d'abord, nous devons installer Manticore Search et effectuer la configuration de base. Vous pouvez télécharger la dernière version de Manticore Search depuis le site officiel (https://manticoresearch.com/).
Une fois l'installation terminée, modifiez le fichier de configuration de Manticore Search (généralement /etc/manticoresearch/manticore.conf) comme suit :
indexer { mem_limit = 1G } searchd { listen = 127.0.0.1:9306:mysql41 log = /var/log/manticoresearch/searchd.log query_log = /var/log/manticoresearch/query.log }
Voici les principaux paramètres tels que la limite de mémoire et l'adresse d'écoute. Après avoir terminé la configuration, démarrez le service Manticore Search :
$ sudo systemctl start manticore
Partie 2 : Créer l'index et importer les données
Avant d'effectuer la recherche, nous devons créer l'index et importer les données à rechercher.
Supposons que nous ayons une base de données qui stocke des informations sur les films, nous souhaitons maintenant créer un index afin que les utilisateurs puissent effectuer une recherche par titre et description du film. Nous pouvons créer un index en exécutant l'exemple de code suivant :
$index = new SphinxClient; $index->SetServer('localhost', 9306); $index->SetConnectTimeout(1); $index->AddQuery('REPLACE INTO movies (id, title, description) VALUES (1, "The Shawshank Redemption", "Two imprisoned men bond over a number of years, finding solace and eventual redemption through acts of common decency.")'); $index->AddQuery('REPLACE INTO movies (id, title, description) VALUES (2, "The Godfather", "The aging patriarch of an organized crime dynasty transfers control of his clandestine empire to his reluctant son.")'); $index->RunQueries();
Ici, nous avons utilisé une bibliothèque client open source Sphinx qui fournit des méthodes pour interagir avec Manticore Search.
Partie 3 : Effectuer l'optimisation de la recherche
Une fois que nous avons terminé la création de l'index et l'importation des données, nous pouvons commencer l'optimisation de la recherche.
L'exemple suivant montre comment utiliser PHP et Manticore Search pour l'optimisation de base de la recherche :
$query = "redemption"; $search = new SphinxClient; $search->SetServer('localhost', 9306); $search->SetConnectTimeout(1); $search->SetMatchMode(SPH_MATCH_EXTENDED); $search->SetRankingMode(SPH_RANK_PROXIMITY_BM25); $search->SetSortMode(SPH_SORT_RELEVANCE); $result = $search->Query($query, 'movies'); while ($info = $search->GetArrayResult()) { foreach ($info['matches'] as $match) { $id = $match['id']; $weight = $match['weight']; // 处理搜索结果 } }
Ici, nous définissons le mode de correspondance sur le mode étendu (SPH_MATCH_EXTENDED), le mode de classement sur le mode BM25 (SPH_RANK_PROXIMITY_BM25) et la méthode de tri sur la pertinence. tri ( SPH_SORT_RELEVANCE).
Grâce aux mesures d'optimisation ci-dessus, nous pouvons obtenir des résultats de recherche plus précis et plus rapides.
Conclusion :
Cet article explique comment apporter des modifications clés aux performances des résultats de recherche à l'aide de PHP et de Manticore Search. En installant et en configurant Manticore Search, en créant des index, en important des données et en effectuant une optimisation de la recherche, nous pouvons obtenir une meilleure expérience de recherche. Espérons que ces exemples aideront les développeurs à optimiser les résultats de recherche.
Matériaux de référence :
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!