Développement PHP et Manticore Search : créer une fonction de filtrage de recherche intelligente
Résumé : Cet article présentera comment utiliser PHP et Manticore Search pour développer une application avec une fonction de filtrage de recherche intelligente. Nous utiliserons Manticore Search comme moteur de recherche en texte intégral et le combinerons avec PHP pour implémenter la fonction de filtrage de recherche. Grâce à cet article, vous apprendrez à créer un environnement de recherche Manticore, à créer des index, à effectuer une recherche et un filtrage en texte intégral, et enfin à implémenter une application de recherche et de filtrage intelligente entièrement fonctionnelle.
Avec la croissance explosive de l’information sur Internet, les besoins d’information des utilisateurs deviennent de plus en plus précis. Bien que les moteurs de recherche traditionnels puissent fournir des résultats de recherche, ils présentent certaines lacunes pour répondre aux besoins précis des utilisateurs. Par conséquent, il est crucial d’offrir une meilleure expérience utilisateur en créant une fonction de filtrage de recherche précise.
Tout d'abord, nous devons installer Manticore Search. Manticore Search est un moteur de recherche en texte intégral rapide et open source avec une bonne évolutivité et des performances élevées. Vous pouvez télécharger et installer Manticore Search depuis le site officiel de Manticore Search (https://manticoresearch.com/).
Une fois l'installation terminée, nous devons créer un index afin de stocker les données que nous souhaitons rechercher. L'exemple de code suivant montre comment utiliser l'extension PHP Manticore Search pour créer un index :
<?php require 'vendor/autoload.php'; use ManticoresearchClient; use ManticoresearchIndex; use ManticoresearchExceptionsRuntimeException; use ManticoresearchQueryBoolQuery; use ManticoresearchQueryQuery; try { $client = new Client(['host' => 'localhost', 'port' => 9308]); $index = new Index($client); $index->create([ 'index' => 'myindex', 'type' => 'mytype', 'fields' => [ 'title' => ['type' => 'text'], 'content' => ['type' => 'text'], 'category' => ['type' => 'text'] ] ]); echo "Index created successfully."; } catch (RuntimeException $e) { echo $e->getMessage(); } ?>
Le code ci-dessus crée un index nommé "myindex", qui contient trois champs : "titre", "contenu" et "catégorie". Vous pouvez l'ajuster en fonction des besoins réels.
Ensuite, nous apprendrons comment effectuer une recherche en texte intégral. L'exemple de code suivant montre comment utiliser l'extension PHP Manticore Search pour effectuer une recherche en texte intégral :
<?php require 'vendor/autoload.php'; use ManticoresearchClient; use ManticoresearchQueryBoolQuery; use ManticoresearchQueryQuery; $client = new Client(['host' => 'localhost', 'port' => 9308]); $boolQuery = new BoolQuery(); $query = new Query($client); $boolQuery->addShould($query->match('title', 'keyword')); $boolQuery->addShould($query->match('content', 'keyword')); $boolQuery->addShould($query->match('category', 'keyword')); $query->bool($boolQuery); $result = $query->search('myindex', 'mytype'); print_r($result); ?>
Le code ci-dessus effectue une opération de recherche en texte intégral, le mot-clé de recherche est "mot-clé" et la portée de la recherche inclut "titre ", "contenu" et "catégorie" "Champ. Vous pouvez modifier les mots-clés et la portée de la recherche en fonction de vos besoins.
Enfin, nous apprendrons comment filtrer les recherches. L'exemple de code suivant montre comment utiliser l'extension PHP Manticore Search pour effectuer un filtrage de recherche :
<?php require 'vendor/autoload.php'; use ManticoresearchClient; use ManticoresearchQueryBoolQuery; use ManticoresearchQueryQuery; $client = new Client(['host' => 'localhost', 'port' => 9308]); $boolQuery = new BoolQuery(); $query = new Query($client); $boolQuery->addMust($query->match('title', 'keyword')); $boolQuery->addFilter($query->term('category', 'news')); $query->bool($boolQuery); $result = $query->search('myindex', 'mytype'); print_r($result); ?>
Le code ci-dessus ajoute une condition de filtre basée sur la recherche en texte intégral, et la condition de filtre est que le champ "catégorie" est égal à "nouvelles". Vous pouvez ajuster les filtres en fonction de vos besoins.
Résumé :
Grâce à l'introduction de cet article, nous avons appris à utiliser PHP et Manticore Search pour développer une application avec une fonction de filtrage de recherche intelligente. Nous avons appris à configurer l'environnement Manticore Search, à créer des index, à effectuer une recherche en texte intégral et à filtrer la recherche. J'espère que cet article pourra vous être utile, et j'espère également que vous pourrez apprendre davantage les puissantes fonctions de Manticore Search grâce à des applications pratiques.
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!