Wie baut man mit PHP Elasticsearch eine leistungsstarke Suchmaschine auf?
Da die Datenmenge immer weiter wächst, wird der Aufbau einer leistungsstarken Suchmaschine immer wichtiger. Elasticsearch ist eine leistungsstarke und dennoch benutzerfreundliche Open-Source-Such- und Analysemaschine und eines der bevorzugten Tools zum Aufbau leistungsstarker Suchmaschinen. In diesem Artikel wird erläutert, wie Sie mithilfe der PHP-Elasticsearch-Bibliothek eine leistungsstarke Suchmaschine erstellen, und es werden detaillierte Codebeispiele aufgeführt.
Zuerst müssen wir den Elasticsearch-Server installieren. Sie können die für Ihr Betriebssystem geeignete Version von der offiziellen Website von Elasticsearch herunterladen und installieren. Starten Sie nach Abschluss der Installation den Elasticsearch-Server.
Als nächstes müssen wir die PHP-Elasticsearch-Bibliothek in unserem PHP-Projekt installieren. Mit Composer können PHP-Abhängigkeiten verwaltet werden. Erstellen Sie eine Composer.json-Datei in Ihrem Projektstammverzeichnis und fügen Sie den folgenden Code hinzu:
{ "require": { "elasticsearch/elasticsearch": "^7.0" } }
Führen Sie dann den Befehl composer install
aus, um die PHP-Elasticsearch-Bibliothek zu installieren.
Sobald wir die PHP-Elasticsearch-Bibliothek installiert haben, können wir eine Verbindung zum Elasticsearch-Server herstellen. Verwenden Sie in Ihrer PHP-Datei den folgenden Code, um eine Elasticsearch-Client-Instanz zu erstellen:
<?php require 'vendor/autoload.php'; use ElasticsearchClientBuilder; $client = ClientBuilder::create()->build();
Indizes sind die logischen Strukturen, die in Elasticsearch zum Speichern und Organisieren von Daten verwendet werden. Wir müssen in Elasticsearch einen neuen Index erstellen, um unsere Daten zu speichern. Verwenden Sie den folgenden Code, um einen Index mit dem Namen „my_index“ zu erstellen:
$params = [ 'index' => 'my_index' ]; $response = $client->indices()->create($params);
Sobald wir den Index erstellt haben, können wir damit beginnen, Dokumente zum Index hinzuzufügen. Ein Dokument ist die kleinste Speichereinheit in Elasticsearch. Fügen Sie ein neues Dokument mit dem folgenden Code hinzu:
$params = [ 'index' => 'my_index', 'body' => [ 'title' => 'Example Document', 'content' => 'This is an example document', 'tags' => ['example', 'document'] ] ]; $response = $client->index($params);
Da wir das Dokument nun zum Index hinzugefügt haben, können wir mit der Suche beginnen. Verwenden Sie den folgenden Code, um eine einfache Suchabfrage durchzuführen:
$params = [ 'index' => 'my_index', 'body' => [ 'query' => [ 'match' => [ 'content' => 'example' ] ] ] ]; $response = $client->search($params);
Dadurch werden Dokumente zurückgegeben, die den Suchkriterien entsprechen.
Zusätzlich zu den grundlegenden Suchfunktionen unterstützt Elasticsearch auch erweiterte Suchfunktionen wie Aggregation, Filter und Sortierung. Hier ist ein Beispielcode:
$params = [ 'index' => 'my_index', 'body' => [ 'aggs' => [ 'by_tag' => [ 'terms' => [ 'field' => 'tags' ] ] ] ] ]; $response = $client->search($params);
Dadurch werden aggregierte Ergebnisse nach Tags gruppiert zurückgegeben.
$params = [ 'index' => 'my_index', 'body' => [ 'query' => [ 'bool' => [ 'must' => [ 'match' => ['content' => 'example'] ], 'filter' => [ 'range' => [ 'date' => [ 'gte' => '2021-01-01' ] ] ] ] ] ] ]; $response = $client->search($params);
Dadurch werden Dokumente zurückgegeben, die den Suchkriterien entsprechen und ein Datum haben, das größer oder gleich dem 1. Januar 2021 ist.
$params = [ 'index' => 'my_index', 'body' => [ 'query' => [ 'match' => ['content' => 'example'] ], 'sort' => [ 'date' => 'desc' ] ] ]; $response = $client->search($params);
Dadurch werden Dokumente nach Datum in absteigender Reihenfolge sortiert zurückgegeben.
Durch die oben genannten Schritte haben wir mithilfe der PHP-Elasticsearch-Bibliothek eine einfache Suchmaschine erstellt und einige gängige erweiterte Suchfunktionen hinzugefügt. Sie können es je nach Bedarf weiter ausbauen und optimieren. Ich hoffe, dieser Artikel hat Ihnen bei der Entwicklung leistungsstarker Suchmaschinen geholfen.
Das obige ist der detaillierte Inhalt vonWie baut man mit PHP Elasticsearch eine leistungsstarke Suchmaschine auf?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!