Entwickeln Sie Suchvorschlagsfunktionen mit PHP und Manticore Search
In modernen Websites und Anwendungen ist die Suchfunktion eine sehr wichtige Komponente. Um die Benutzererfahrung zu verbessern, werden häufig Suchvorschlagsfunktionen verwendet. Die Suchvorschlagsfunktion kann relevante Suchvorschläge und eine automatische Vervollständigung basierend auf den vom Benutzer eingegebenen Schlüsselwörtern bereitstellen. In diesem Artikel entwickeln wir eine einfache Suchvorschlagsfunktion mit PHP und Manticore Search.
Manticore Search ist eine neu geschriebene Version, die auf der Open-Source-Suchmaschine Sphinx basiert und eine höhere Leistung und umfangreichere Funktionen bietet. Es unterstützt Funktionen wie Volltextsuche, Echtzeitindizierung und Geolokalisierungssuche. Wir werden Manticore Search verwenden, um eine schnelle und effiziente Suchvorschlagsfunktion zu erstellen.
Zuerst müssen wir Manticore Search auf dem Server installieren. Es kann mit dem folgenden Befehl installiert werden:
$ sudo apt-get update $ sudo apt-get install manticoresearch
Nachdem die Installation abgeschlossen ist, müssen wir einen Index erstellen, um unsere Suchdaten zu speichern. In Manticore Search ist ein Index eine Sammlung von Dokumenten, die jeweils ein oder mehrere Felder enthalten. Mit dem folgenden Befehl können wir einen Index namens „Vorschläge“ erstellen:
$ mysql -P 9306 mysql> CREATE TABLE suggestions(title TEXT, suggestion BIGINT) INDEX title; mysql> quit
Als nächstes können wir PHP verwenden, um mit Manticore Search zu interagieren. Zuerst müssen wir das Paket manticoresearch/manticoresearch
installieren. Die Installation kann über Composer abgeschlossen werden: manticoresearch/manticoresearch
包。可以通过Composer来完成安装:
$ composer require manticoresearch/manticoresearch
安装完成后,我们可以编写PHP代码来实现搜索建议功能。首先,我们需要建立与Manticore Search的连接:
<?php require 'vendor/autoload.php'; use ManticoresearchClient; $client = new Client(); $client->connect();
然后,我们可以编写一个函数来获取搜索建议。该函数将根据用户输入的关键词,在Manticore Search中执行搜索查询,并返回相关的搜索建议:
function getSuggestions($client, $query) { $params = [ 'index' => 'suggestions', 'body' => [ 'query' => [ 'match' => [ 'title' => [ 'query' => $query, 'operator' => 'and' ] ] ], 'suggest' => [ 'suggestion' => [ 'prefix' => $query, 'completion' => [ 'field' => 'suggestion' ] ] ] ] ]; $response = $client->search($params); $suggestions = []; foreach ($response['suggest']['suggestion'][0]['options'] as $option) { $suggestions[] = $option['text']; } return $suggestions; }
最后,我们可以编写一个简单的代码来测试搜索建议功能:
$query = $_GET['q']; if ($query) { $suggestions = getSuggestions($client, $query); foreach ($suggestions as $suggestion) { echo $suggestion . "<br>"; } }
在上面的示例中,我们使用$_GET['q']
来获取用户在搜索框中输入的关键词。然后,我们调用getSuggestions
rrreee
rrreee
Dann können wir eine Funktion schreiben, um Suchvorschläge zu erhalten. Diese Funktion führt eine Suchabfrage in Manticore Search basierend auf den vom Benutzer eingegebenen Schlüsselwörtern aus und gibt relevante Suchvorschläge zurück:rrreee
Schließlich können wir einen einfachen Code schreiben, um die Suchvorschlagsfunktionalität zu testen: 🎜rrreee🎜 Im obigen Beispiel: Wir verwenden$_GET['q']
, um die vom Benutzer in das Suchfeld eingegebenen Schlüsselwörter abzurufen. Anschließend rufen wir die Funktion getSuggestions
auf, um relevante Suchvorschläge abzurufen und diese auf der Seite anzuzeigen. 🎜🎜Zusammenfassung🎜🎜Durch die Verwendung von PHP und Manticore Search können wir ganz einfach eine schnelle und effiziente Suchvorschlagsfunktion entwickeln. Manticore Search bietet leistungsstarke Volltextsuche und automatische Vervollständigungsfunktionen, sodass wir ein großartiges Sucherlebnis innerhalb der Anwendung bieten können. Ich hoffe, dieser Artikel wird Ihnen dabei helfen, Manticore Search zu erlernen und zu verwenden, um Suchvorschläge zu entwickeln! 🎜Das obige ist der detaillierte Inhalt vonEntwickeln Sie Suchvorschlagsfunktionen mit PHP und Manticore Search. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!