Position actuelle: Accueil> Derniers articles> PHP combine la recherche Manticore pour réaliser le guide de développement de la fonction de filtrage de recherche intelligente

PHP combine la recherche Manticore pour réaliser le guide de développement de la fonction de filtrage de recherche intelligente

M66 2025-07-26

Introduction

Avec l'augmentation rapide de la quantité d'informations, les exigences des utilisateurs pour la précision des résultats de recherche augmentent constamment. Les moteurs de recherche traditionnels sont difficiles à répondre aux besoins des recherches précises multidimensionnelles, il est donc particulièrement important de créer une fonction de filtrage de recherche flexible et efficace.

Installer la recherche de manticore

La recherche Manticore est un moteur de recherche en texte complet open source et haute performance qui prend en charge la mise à l'échelle rapide et les requêtes complexes. Vous pouvez télécharger et installer la recherche Manticore à partir du canal officiel pour le développement et l'utilisation ultérieurs.

Créer un index

L'indexation est la base de la recherche en texte intégral. L'exemple suivant montre comment créer un index contenant des champs de titre, de contenu et de classification via PHP:

 <?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 a créé avec succès un index nommé "MyIndex", qui contient les champs de texte nécessaires, et la structure du champ peut être ajustée en fonction des besoins réels.

Effectuer la recherche de texte intégral

Une fois l'index créé, vous pouvez utiliser l'exemple de code suivant pour implémenter la recherche de mots clés en texte complet, en prenant en charge la correspondance dans les champs de titre, de contenu et de classification:

 <?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);
?>

Ce code effectue la recherche du mot-clé "mot-clé", couvrant plusieurs champs correspondant pour faciliter la satisfaction des besoins de requête divers.

Implémenter le filtrage de recherche

Sur la base de la recherche en texte intégral, l'ajout de conditions de filtre peut en résulter avec précision. L'exemple suivant montre comment filtrer les résultats de la recherche, tels que le filtrage des catégories spécifiques:

 <?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);
?>

En ajoutant des conditions de filtrage, la plage de recherche peut être effectivement rétrécie et la pertinence et la précision des résultats de recherche peuvent être améliorées.

Résumer

Cet article présente comment combiner la recherche PHP et Manticore pour implémenter la fonction de filtrage de recherche intelligente. Il couvre les étapes clés telles que la construction de l'environnement, la création d'index, la recherche en texte intégral et le filtrage conditionnel. J'espère que cela inspirera le développement de votre moteur de recherche et vous aidera à créer une expérience de recherche intelligente qui est plus conforme aux besoins des utilisateurs.