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

王林
Libérer: 2023-08-05 08:22:01
original
1365 Les gens l'ont consulté

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
    Copier après la connexion
  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
    }
    Copier après la connexion
  4. Démarrez le service de recherche : Utilisez la commande suivante pour démarrer le service de recherche :

    searchd --config /path/to/config.conf
    Copier après la connexion

3. Utilisez PHP pour rechercher

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

    composer require manticoresearch/manticoresearch
    Copier après la connexion
  2. Créer une connexion de recherche :

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

    $params = [
     'index' => 'articles',
     'body' => [
         'query' => [
             'match' => [
                 'title' => 'PHP'
             ]
         ]
     ]
    ];
    
    $response = $client->search($params);
    Copier après la connexion

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

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!

É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!