Aktueller Standort: Startseite> Neueste Artikel> 【PHP -Entwicklungspraxis】 Leitfaden zur Verwendung von Manticore -Suche, um personalisierte Benutzer -Suchfunktionen zu implementieren

【PHP -Entwicklungspraxis】 Leitfaden zur Verwendung von Manticore -Suche, um personalisierte Benutzer -Suchfunktionen zu implementieren

M66 2025-06-22

PHP Integrated Manticore Search: Erstellen Sie eine Smart User Preference Search -Erfahrung

In der modernen Webentwicklung ist die personalisierte Sucherfahrung zu einem zentralen Mittel geworden, um die Teilnahme und die Conversion -Raten der Benutzer zu erhöhen. Durch die Kombination von Hochleistungs-Suchmaschinen können Entwickler eine genauere Inhalte für die Verhaltens- oder Interessenpräferenzen der Benutzer bereitstellen. In diesem Artikel werden wir demonstrieren, wie PHP- und Manticore -Suche verwendet wird, um eine Reihe von Suchfunktionen zu erstellen, die die Filterung der Benutzerpräferenz unterstützen.

Umgebungsvorbereitung: Installieren und Konfiguration der Manticore -Suche

Stellen Sie zunächst sicher, dass Sie die neueste Version der Manticore Search heruntergeladen und installiert haben. Bearbeiten Sie nach Abschluss der Installation die Konfigurationsdatei, um Echtzeit-Indexunterstützung zu aktivieren und Parameter wie Höranschlüsse, Protokollpfade usw. festzulegen. Hier finden Sie ein grundlegendes Konfigurationsbeispiel:

suchen
{
    Hören Sie = 127.0.0.1:9306
    Binlog_path =/var/lib/manticore
    pid_file = /var/run/manticore/searchd.pid
    log = /var/log/manticore/searchd.log
    query_log = /var/log/manticore/query.log
    Search_logs = 1
    rt_mem_limit = 512m
}

Index my_index
{
    Typ = rt
    rt_attr_string = name
    rt_attr_uint = Alter
}

Starten Sie nach Abschluss der Konfiguration den Manticore -Suchdienst neu, damit die Einstellungen wirksam werden.

Daten vorbereiten: Indexiert über PHP

Vor dem Erstellen der Suchfunktion müssen wir Benutzerdaten in den Index schreiben. Das folgende Beispiel zeigt, wie Sie eine Verbindung zu einem Suchdienst herstellen und Daten mit dem PHP -Treiber von SphinxQL einfügen:

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

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

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

$ index = &#39;my_index&#39;;
$ Engine = neuer sphinxql ($ connection);
$ motor-> setConnection ($ connection);

$ engine-> query ("Truncate rtindex $ index")-> execute ();
$ motor-> query ("in $ index (name, Alter) Werte (&#39;Alice&#39;, 25), (&#39;Bob&#39;, 30), (&#39;Charlie&#39;, 35)")-> execute ();

Dieser Schritt löscht die ursprünglichen Daten und importiert neue Benutzerinformationen, wodurch die Grundlage für nachfolgende Suchvorgänge gelegt wird.

Implementierungslogik: Erstellen von Suchabfragen basierend auf den Einstellungen

Nehmen wir an, wir müssen basierend auf dem vom Benutzer festgelegten Altersbereich suchen. Wir können Abfrageberechnungen über die folgenden Funktionen dynamisch generieren:

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

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

    $ query = $ motor-> query ("aus $ index");

    foreach ($ Vorlieben als $ key => $ value) {
        if ($ key == &#39;min_age&#39;) {
            $ query-> wo (&#39;Alter&#39;, &#39;> =&#39;, $ value);
        } elseif ($ key == &#39;max_age&#39;) {
            $ query-> wo (&#39;Alter&#39;, &#39;<=&#39;, $ value);
        }
    }

    $ query-> execute () zurückgeben;
}

Für diese Funktion können wir eine Reihe von Benutzerpräferenzdaten übergeben und das gefilterte Ergebnis ausgeben:

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

$ result = BuildUserPreferenceQuery ($ Vorlieben);

foreach ($ result as $ row) {
    Echo "Name:". $ row [&#39;Name&#39;]. ", Alter: " . $ row [&#39;Alter&#39;]. "\N";
}

Zusammenfassen

In den Beispielen in diesem Artikel haben wir den gesamten Prozess aus Umgebungskonfiguration, Datenimport und Abfragekonstruktion abgeschlossen. Durch die Kombination von PHP- und Manticore -Suche können Suchfunktionen, die den persönlichen Bedürfnissen der Benutzer entsprechen, effizient implementiert werden und die Intelligenzstufe des Systems verbessert. Sie können die Indexfelder weiter erweitern, Volltextsuche hinzufügen, Sortieren oder Paging unterstützen, um komplexere Geschäftsszenarien zu entsprechen.