Maison  >  Article  >  développement back-end  >  Guide de développement de recherche PHP et Manticore : filtres de recherche hautement personnalisables

Guide de développement de recherche PHP et Manticore : filtres de recherche hautement personnalisables

王林
王林original
2023-08-05 08:21:141333parcourir

Guide de développement de recherche PHP et Manticore : filtres de recherche hautement personnalisables

Introduction :
Dans les applications Web modernes, la fonctionnalité de recherche est un élément essentiel. La qualité de la fonction de recherche affecte directement l'expérience de l'utilisateur sur le site Web. Afin d'obtenir des fonctions de recherche efficaces, les développeurs doivent choisir un moteur de recherche approprié et le personnaliser en fonction de leurs propres besoins. Dans cet article, nous verrons comment développer des filtres de recherche hautement personnalisés à l'aide de PHP et du moteur de recherche Manticore Search.

1. Qu'est-ce que la recherche Manticore ?
Manticore Search est un moteur de recherche en texte intégral performant, gratuit et open source. Il est basé sur le moteur de recherche Sphinx et ajoute de nombreuses nouvelles fonctionnalités et améliorations, telles que la recherche en texte intégral, l'indexation distribuée, les mises à jour d'index en temps réel, etc. Manticore Search fournit une riche assistance API et client, ce qui simplifie considérablement le processus permettant aux développeurs d'utiliser les fonctions de recherche.

2. Installez et configurez Manticore Search

  1. Téléchargez et installez Manticore Search : Selon les directives de la documentation officielle, téléchargez et installez la version de Manticore Search adaptée à votre système.
  2. Créer un index : utilisez les outils fournis par Manticore Search pour créer l'index dont vous avez besoin. Par exemple, si vous souhaitez créer un index pour la recherche d'articles, vous pouvez utiliser la commande suivante :

    indexer --config /path/to/config.conf --rotate --all
  3. Configurer le service de recherche : Modifiez le fichier de configuration de Manticore Search et définissez des paramètres tels que le port d'écoute et le chemin d'index. Un exemple est le suivant :

    searchd {
     listen = localhost:9306
     pid_file = /path/to/searchd.pid
     log = /path/to/searchd.log
     query_log = /path/to/query.log
    }
  4. Démarrez le service de recherche : Utilisez la commande suivante pour démarrer le service de recherche :

    searchd --config /path/to/config.conf

3. Utilisez PHP pour rechercher

  1. Installez la bibliothèque client PHP de Manticore Search ( manticoresearch/manticoresearch) :

    composer require manticoresearch/manticoresearch
  2. Créer une connexion de recherche :

    $client = new ManticoresearchClient(['host' => 'localhost', 'port' => 9308]);
  3. Exécuter une requête de recherche :

    $params = [
     'index' => 'articles',
     'body' => [
         'query' => [
             'match' => [
                 'title' => 'PHP'
             ]
         ]
     ]
    ];
    
    $response = $client->search($params);

4. Personnaliser les filtres de recherche

  1. Ajouter des filtres basés sur des mots-clés :

    $params = [
     'index' => 'articles',
     'body' => [
         'query' => [
             'match' => [
                 'title' => 'PHP'
             ]
         ],
         'filter' => [
             'term' => [
                 'category' => 'Tutorial'
             ]
         ]
     ]
    ];
    
    $response = $client->search($params);
  2. Combinez plusieurs filtres :

    $params = [
     'index' => 'articles',
     'body' => [
         'query' => [
             'match' => [
                 'title' => 'PHP'
             ]
         ],
         'filter' => [
             'bool' => [
                 'must' => [
                     ['term' => ['category' => 'Tutorial']],
                     ['term' => ['author' => 'John']]
                 ],
                 'must_not' => [
                     ['term' => ['status' => 'Draft']]
                 ]
             ]
         ]
     ]
    ];
    
    $response = $client->search($params);
  3. Filtres de portée :

    $params = [
     'index' => 'articles',
     'body' => [
         'query' => [
             'match' => [
                 'title' => 'PHP'
             ]
         ],
         'filter' => [
             'range' => [
                 'created_at' => [
                     'gte' => '2022-01-01',
                     'lte' => '2022-12-31'
                 ]
             ]
         ]
     ]
    ];
    
    $response = $client->search($params);

Conclusion :
Cet article explique comment développer des filtres de recherche hautement personnalisés à l'aide de PHP et du moteur de recherche Manticore Search. Grâce à l'API et à la bibliothèque client PHP fournies par Manticore Search, nous pouvons facilement mettre en œuvre divers besoins de recherche, notamment le filtrage par mots clés, les conditions de filtrage multiples et le filtrage par plage. J'espère que cet article sera utile aux développeurs lors de la création de fonctionnalités de recherche efficaces.

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!

Déclaration:
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