Position actuelle: Accueil> Derniers articles> 【PRATIQUE DE DÉVELOPPEMENT PHP】 Guide pour utiliser la recherche de Manticore pour implémenter des fonctions de recherche d'utilisateurs personnalisées

【PRATIQUE DE DÉVELOPPEMENT PHP】 Guide pour utiliser la recherche de Manticore pour implémenter des fonctions de recherche d'utilisateurs personnalisées

M66 2025-06-22

Recherche de Manticore intégrée PHP: Créez une expérience de recherche de préférence des utilisateurs intelligents

Dans le développement Web moderne, l'expérience de recherche personnalisée est devenue un moyen clé pour accroître la participation des utilisateurs et les taux de conversion. En combinant des moteurs de recherche haute performance, les développeurs peuvent fournir une correspondance de contenu plus précise en fonction du comportement des utilisateurs ou des préférences d'intérêt. Dans cet article, nous montrerons comment utiliser la recherche PHP et Manticore pour créer une suite de fonctionnalités de recherche qui prennent en charge le filtrage des préférences des utilisateurs.

Préparation de l'environnement: installer et configurer la recherche de mantecore

Tout d'abord, assurez-vous d'avoir téléchargé et installé la dernière version de la recherche Manticore. Une fois l'installation terminée, modifiez le fichier de configuration pour activer la prise en charge de l'index en temps réel et définir des paramètres tels que les ports d'écoute, les chemins de journal, etc. Voici un exemple de configuration de base:

recherche
{
    Écouter = 127.0.0.1:9306
    binlog_path = / var / lib / manticore
    pid_file = /var/run/manticore/searchd.pid
    journal = /var/log/mancore/searchd.log
    query_log = /var/log/Manticore/Query.log
    search_logs = 1
    rt_mem_limit = 512m
}

Index My_index
{
    type = rt
    rt_attr_string = nom
    RT_ATTR_UINT = Age
}

Une fois la configuration terminée, redémarrez le service de recherche Manticore pour que les paramètres prennent effet.

Préparer les données: indexée via PHP

Avant de construire la fonction de recherche, nous devons écrire des données utilisateur dans l'index. L'exemple suivant montre comment se connecter à un service de recherche et insérer des données à l'aide du pilote PHP de SphinXQL:

<?php
require_once('vendor/autoload.php');

use Foolz\SphinxQL\Drivers\Connection;
use Foolz\SphinxQL\SphinxQL;

$connection = new Connection();
$connection-> setParams ([&#39;hôte&#39; => &#39;127.0.0.1&#39;, &#39;port&#39; => 9306]);

$ index = &#39;my_index&#39;;
$ moteur = new sphinxql ($ connection);
$ moteur-> setConnection ($ connection);

$ moteur-> query ("truncate rTindex $ index") -> esecute ();
$ moteur-> Query ("Remplacer en $ index (nom, âge) Valeurs (&#39;Alice&#39;, 25), (&#39;Bob&#39;, 30), (&#39;Charlie&#39;, 35)") -> EXECUTE ();

Cette étape efface les données d'origine et importe de nouvelles informations utilisateur, jetant les bases des recherches ultérieures.

Logique d'implémentation: création de recherche sur les préférences en fonction des préférences

Supposons que nous devons rechercher en fonction de la tranche d'âge définie par l'utilisateur, nous pouvons générer dynamiquement des instructions de requête via les fonctions suivantes:

<?php
function buildUserPreferenceQuery($preferences) {
    global $connection;

    $index = 'my_index';
    $engine = new SphinxQL($connection);
    $engine-> setConnection ($ connection);

    $ query = $ moteur-> requête ("SELECT * FROM $ index");

    ForEach ($ Préférences comme $ key => $ valeur) {
        if ($ key == &#39;min_age&#39;) {
            $ query-> où (&#39;age&#39;, &#39;> =&#39;, $ value);
        } elseif ($ key == &#39;max_age&#39;) {
            $ query-> où (&#39;Âge&#39;, &#39;<=&#39;, $ value);
        }
    }

    return $ query-> execute ();
}

Nous pouvons transmettre un ensemble de données de préférence utilisateur pour cette fonction et sortir le résultat filtré:

<?php
$preferences = [
    'min_age' => 25,
    &#39;max_age&#39; => 35
]]

$ result = BuildUserPreferenceQuery ($ Préférences);

foreach ($ Result comme $ row) {
    Echo "Nom:". $ row [&#39;name&#39;]. ", Âge: " . $ row [&#39;Âge&#39;]. "\ n";
}

Résumer

Grâce aux exemples de cet article, nous avons terminé l'ensemble du processus à partir de la configuration de l'environnement, de l'importation de données et de la construction de requêtes. En combinant la recherche PHP et Manticore, les fonctions de recherche qui répondent aux besoins personnels des utilisateurs peuvent être implémentées efficacement, améliorant le niveau d'intelligence du système. Vous pouvez continuer à étendre les champs d'index, ajouter des recherches de texte complet, prendre en charge le tri ou la pagination pour convenir à des scénarios commerciaux plus complexes.