Développement de recherche PHP et Manticore : améliorations clés des performances pour optimiser les résultats de recherche

PHPz
Libérer: 2023-08-06 12:14:02
original
937 Les gens l'ont consulté

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
}
Copier après la connexion

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
Copier après la connexion

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();
Copier après la connexion

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'];
        // 处理搜索结果
    }
}
Copier après la connexion

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 :

  • Site officiel de Manticore Search : https://manticoresearch.com/
  • Bibliothèque client Sphinx : https://github.com/pecl/sphinx

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!