Heim > Backend-Entwicklung > PHP-Tutorial > PHP- und Manticore-Suchentwicklungshandbuch: Suchergebnisse mit Vorschlägen zusammenfassen

PHP- und Manticore-Suchentwicklungshandbuch: Suchergebnisse mit Vorschlägen zusammenfassen

WBOY
Freigeben: 2023-08-06 06:02:01
Original
1601 Leute haben es durchsucht

PHP- und Manticore-Suchentwicklungsleitfaden: Suchergebnisse mit Vorschlägen zusammenfassen

Einführung:
Mit der kontinuierlichen Weiterentwicklung der Suchtechnologie sind moderne Suchmaschinen zu einem Kernbestandteil vieler Webanwendungen geworden. In der PHP-Entwicklung können wir Manticore Search, eine Open-Source-Volltextsuchmaschine, verwenden, um schnelle und effiziente Suchfunktionen zu erreichen. In diesem Artikel wird erklärt, wie man mit PHP und Manticore Search entwickelt und wie man die Vorschlagsfunktion nutzt, um Suchergebnisse zusammenzufassen.

I. Einführung in Manticore Search
Manticore Search ist eine aktualisierte Version der Sphinx-Volltextsuchmaschine, die eine höhere Leistung und mehr Funktionen bietet. Es unterstützt Funktionen wie verteilte Indizierung, Echtzeit-Indizierung, mehrere Abfragesyntaxen und hochgradig anpassbare Parameterkonfigurationen, sodass Entwickler verschiedene Suchanforderungen flexibel erfüllen können.

II. Installieren und konfigurieren Sie Manticore Search
Zuerst müssen wir Manticore Search auf dem Server installieren. Es wird empfohlen, zur Installation den PHP-Paketmanager Composer zu verwenden. Fügen Sie in der Datei „composer.json“ im Projektverzeichnis die folgenden Abhängigkeiten hinzu:

{
    "require": {
        "bobthecow/manticoresearch": "^2.0"
    }
}
Nach dem Login kopieren

Führen Sie dann composer install in der Befehlszeile aus, um Manticore Search zu installieren.

Nachdem die Installation abgeschlossen ist, müssen wir sie konfigurieren. Erstellen Sie eine Konfigurationsdatei im Stammverzeichnis des Projekts und nennen Sie sie manticore.conf. Die Konfiguration ist wie folgt:

index main
{
    type = plain
    path = /path/to/index
    source = src
}
searchd
{
    listen = localhost:9306:mysql41
    binlog_path = /path/to/binlog
    log = /path/to/log/searchd.log
}
Nach dem Login kopieren

In der obigen Konfigurationsdatei definieren wir einen Index namens main und einen Suchdämon namens searchd. In der tatsächlichen Entwicklung können je nach Bedarf detailliertere Konfigurationen durchgeführt werden.

III. Index erstellen und Daten importieren
Zuerst müssen wir einen Index zum Speichern von Daten erstellen. In PHP kann dies durch die Verwendung der von Manticore Search bereitgestellten API erreicht werden.

<?php
require 'vendor/autoload.php';

use ManticoresearchClient;
use ManticoresearchQueryBoolQuery;
use ManticoresearchQuery;
use ManticoresearchQueryBuilders;

$client = new Client();
$client->connect(['host' => 'localhost', 'port' => 9306]);

// 创建索引
$client->indexCreate('main');
$index = $client->getIndex('main');

// 创建字段
$index->fieldCreate([
    'name' => 'title',
    'type' => 'text',
    'indexed' => true,
]);

// 导入数据
$data = [
    ['id' => 1, 'title' => 'PHP 开发'],
    ['id' => 2, 'title' => 'Manticore Search'],
    ['id' => 3, 'title' => '全文搜索引擎'],
];

foreach ($data as $item) {
    $index->addDocument($item['id'], ['title' => $item['title']]);
}

// 等待索引刷新
$index->flush();
?>
Nach dem Login kopieren

IV. Implementieren Sie die Vorschlagsfunktion
Manticore Search bietet eine Vorschlagsfunktion, die Suchvorschläge basierend auf den vom Benutzer eingegebenen Schlüsselwörtern bereitstellen kann. Unten sehen Sie ein einfaches Beispiel, das zeigt, wie Sie die Vorschlagsfunktion zum Zusammenfassen von Suchergebnissen verwenden.

<?php
// 获取用户输入的关键字
$keyword = $_GET['keyword'];

// 创建一个布尔查询
$query = new BoolQuery();

// 添加全文搜索子查询
$query->addMust(new QueryMatchPhrasePrefix(['title' => $keyword]));

// 添加建议子查询
$suggestions = new BuildersSuggest(Suggest::RELEVANT_TERMS);
$suggestions->setMatchPhrase('title', $keyword);
$query->setSuggest($suggestions);

// 执行查询
$search = $client->search($query);

// 获取搜索结果
$results = $search->getRawResponse()['hits']['hits'];

// 获取建议结果
$suggest = $search->getSuggest();

// 输出搜索结果
foreach ($results as $result) {
    echo $result['_source']['title'] . "<br>";
}

// 输出建议结果
foreach ($suggest as $term) {
    echo $term['text'] . "<br>";
}
?>
Nach dem Login kopieren

V. Zusammenfassung
In diesem Artikel wird erläutert, wie Sie mithilfe von PHP und Manticore Search effiziente Suchfunktionen entwickeln und deren Vorschlagsfunktionen nutzen, um Suchergebnisse zusammenzufassen. Durch die sinnvolle Nutzung der APIs und Funktionen von Manticore Search können wir ganz einfach eine leistungsstarke Suchmaschine aufbauen und ein besseres Benutzererlebnis bieten. Es besteht die Hoffnung, dass Leser diese Technologien in der tatsächlichen Entwicklung flexibel nutzen können, um die Qualität und Leistung der Suchfunktion weiter zu verbessern.

Das obige ist der detaillierte Inhalt vonPHP- und Manticore-Suchentwicklungshandbuch: Suchergebnisse mit Vorschlägen zusammenfassen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage