Heim  >  Artikel  >  Backend-Entwicklung  >  So verwenden Sie Sphinx für die Volltextsuche in der PHP-Entwicklung

So verwenden Sie Sphinx für die Volltextsuche in der PHP-Entwicklung

WBOY
WBOYOriginal
2023-06-25 09:09:271440Durchsuche

So verwenden Sie Sphinx für die Volltextsuche in der PHP-Entwicklung

Sphinx ist eine leistungsstarke Volltextsuchmaschine, die für die Volltextsuche in verschiedenen Sprachen geeignet ist. Für die PHP-Entwicklung stellt Sphinx APIs und Plug-Ins zur einfachen Integration in bestehende PHP-Anwendungen bereit. In diesem Artikel erklären wir, wie Sie Sphinx für die Volltextsuche verwenden.

  1. Sphinx installieren

Die Installation von Sphinx ist sehr einfach. Führen Sie einfach ein paar Befehle auf Ihrem Linux-System aus. Im Folgenden sind die Schritte aufgeführt, um Sphinx auf einem Ubuntu-System zu installieren:

(1) APT-Paketliste aktualisieren

sudo apt-get update

(2) Sphinx installieren

sudo apt-get install sphinxsearch

(3) Sphinx starten Service

sudo service sphinxsearch start

  1. Sphinx konfigurieren

Die Konfigurationsdatei von Sphinx ist /etc/sphinxsearch/sphinx.conf. In dieser Datei können wir die globalen Einstellungen und Indizes von Sphinx definieren. Das Folgende ist eine Beispielkonfigurationsdatei für die Indizierung von Daten von MySQL in Sphinx:

source src1
{
type = mysql

sql_host = localhost
sql_user = Benutzername
sql_pass = Passwort
sql_db = Datenbankname
sql_port = 3306 # optional, Standard ist 3306 f-8

morphology = stem_en

min_prefix_len = 3
min_infix_len = 1

}


searchd
{
listen = 127.0.0.1:9312
log = /var/log/sphinxsearch/searchd.log
query_log = /var/log/ sphinxsearch/ query.log

read_timeout = 5

max_children = 30

pid_file = /var/run/sphinxsearch/searchd.pid

max_matches = 1000
}

In dieser Konfigurationsdatei definieren wir eine Datenquelle namens src1 , die eine Verbindung zur MySQL-Datenbank herstellt und definiert die daraus abzurufenden Felder. Anschließend haben wir einen Index namens „my_index“ definiert, um die Quelle „src1“ auf den angegebenen Pfad zu indizieren. Schließlich definieren wir einen Suchdienst, der Port 9312 abhört und das Abfrageprotokoll aktiviert.



Mit PHP eine Verbindung zu Sphinx herstellen


Mit PHP eine Verbindung zu Sphinx herstellen ist sehr einfach. Wir können die PHP-Erweiterung von Sphinx verwenden, die eine Reihe von Funktionen zum Durchführen von Suchen bereitstellt. Hier ist ein Beispiel für PHP-Code zum Herstellen einer Verbindung mit Sphinx für die Volltextsuche:

//Mit Sphinx verbinden
$cl = new SphinxClient();
$cl->setServer("localhost", 9312);

//Suchergebnisse

$keywords = "Sphinx";
    $result = $cl->Query($keywords, "my_index");
  1. //Ausgabeergebnisse
foreach ($result['matches'] als $doc => $ match) {

echo "Document id={$doc},weight={$match['weight']}, attr={$match'attrs'}

";

}

In diesem Beispiel Wir instanziieren zunächst ein SphinxClient-Objekt und geben den Host und den Port des Sphinx-Servers an. Anschließend führen wir eine Suche durch und geben dabei die zu suchenden Abfrageschlüsselwörter und die zu suchenden Indexnamen an. Abschließend durchlaufen wir die Ergebnisse und geben passende Dokument-IDs, Gewichtungen und Attribute aus.

Zusammenfassung

Sphinx ist eine leistungsstarke Volltextsuchmaschine, die einfach in PHP-Anwendungen integriert werden kann. Mit Sphinx können wir große Mengen an Textdokumenten schnell durchsuchen und hocheffiziente und genaue Suchergebnisse erhalten. Wir hoffen, dass dieser Artikel hilfreich war und Ihnen ein besseres Verständnis dafür vermittelt hat, wie Sie Sphinx für die Volltextsuche in der PHP-Entwicklung verwenden.

Das obige ist der detaillierte Inhalt vonSo verwenden Sie Sphinx für die Volltextsuche in der PHP-Entwicklung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn