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
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
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
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 }
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
Installez la bibliothèque client PHP de Manticore Search ( manticoresearch/manticoresearch) :
composer require manticoresearch/manticoresearch
Créer une connexion de recherche :
$client = new ManticoresearchClient(['host' => 'localhost', 'port' => 9308]);
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
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);
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);
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!