PHP implementiert das Open-Source-Elasticsearch-SDK

PHPz
Freigeben: 2023-06-18 09:24:01
Original
1316 Leute haben es durchsucht

Elasticsearch ist eine Lucene-basierte Suchmaschine, mit der Open-Source-Textsuch- und Analysemaschinen erstellt werden können. Es bietet eine verteilte Volltextsuchmaschine, mit der Daten im Petabyte-Bereich schnell und verteilt gesucht, gespeichert und analysiert werden können. Die PHP-Sprache wird häufig für die Webentwicklung verwendet, und PHP-Anwendungen führen häufig Textsuchen und -analysen durch. In diesem Artikel besprechen wir, wie man das Open-Source-Elasticsearch-SDK mit PHP implementiert.

  1. PHP Elasticsearch Library

PHP Elasticsearch Library ist eine in PHP geschriebene Open-Source-Bibliothek, die einen PHP-Client für den einfachen Zugriff und die einfache Bearbeitung von Elasticsearch bereitstellt. Diese Bibliothek verfügt über eine breite Palette an Funktionen, einschließlich der Verbindung zu Elasticsearch-Servern, der Indizierung von Dokumenten, der Suche nach Dokumenten und der Durchführung von Aggregationsabfragen. Darüber hinaus bietet die PHP-Elasticsearch-Bibliothek viele nützliche Tools, z. B. die Möglichkeit für Benutzer, Suchgewichtungen, Filter, TTL und andere Parameter einfach festzulegen und die Suchindizierung von Elasticsearch nahezu in Echtzeit zu unterstützen.

  1. Installieren Sie die PHP-Elasticsearch-Bibliothek

Die Installation der PHP-Elasticsearch-Bibliothek ist sehr einfach. Sie müssen lediglich Composer verwenden, um sie zu installieren. Hier sind die einfachen Schritte zum Installieren der PHP Elasticsearch-Bibliothek mit Composer:

Erstellen Sie zunächst eine Composer.json-Datei im Projektverzeichnis und fügen Sie den folgenden Inhalt hinzu:

{

"require": { "elasticsearch/elasticsearch": "6.6.0" }
Nach dem Login kopieren

}

Führen Sie dann den folgenden Befehl zur Installation aus PHP-Elasticsearch-Bibliothek:

Composer-Installation

  1. Herstellen einer Verbindung zu Elasticsearch

Als nächstes erfahren Sie, wie Sie die PHP-Elasticsearch-Bibliothek verwenden, um eine Verbindung zu Elasticsearch herzustellen. Die Verbindung zum Elasticsearch-Server mit PHP ist sehr einfach. Verwenden Sie einfach das Elasticsearch-Clientobjekt. Das Folgende ist ein einfacher Code zum Herstellen einer Verbindung zu Elasticsearch:

require_once 'vendor/autoload.php';

//Mit Elasticsearch-Server verbinden
$client = ElasticsearchClientBuilder::create()->build () ;

?>

In diesem Beispiel verwenden wir den Elasticsearch-PHP-Client, um eine Verbindung zum Elasticsearch-Server herzustellen.

  1. Dokumente indizieren

Als Nächstes lernen wir, wie man Dokumente für Elasticsearch mithilfe der PHP-Elasticsearch-Bibliothek indiziert. Um ein Dokument zu indizieren, benötigen wir folgende Informationen:

  • Indexname: Der Name des Index, in dem das Dokument gespeichert wird.
  • Dokumenttyp: Der Dokumenttyp wird verwendet, um den Typ des im Index gespeicherten Dokuments anzugeben.
  • ID: Die eindeutige Kennung des Dokuments.
  • Indexdaten: der Hauptteil des Dokuments.

Hier ist ein Beispielcode für die Indizierung einiger Dokumente für Elasticsearch:

require_once 'vendor/autoload.php';

//Mit dem Elasticsearch-Server verbinden
$client = ElasticsearchClientBuilder::create ( )->build();

//Indexnamen, -typ und -ID definieren
$index = 'my_index';
$type = 'my_type';
$id = '1';
$params = [

'index' => $index, 'type' => $type, 'id' => $id, 'body' => ['title' => 'My first blog post', 'content' => 'This is the content of my first blog post.']
Nach dem Login kopieren

];

//Indizieren Sie das Dokument in Elasticsearch.
$response = $client->index($params);

?>

Im obigen Code definieren wir zunächst den Indexnamen, den Typ und die ID. Anschließend haben wir den Hauptteil des Dokuments definiert und den Elasticsearch-Client verwendet, um das Dokument auf dem Elasticsearch-Server zu indizieren.

  1. Dokumente durchsuchen

Das Durchsuchen von Dokumenten ist mit der PHP-Elasticsearch-Bibliothek ebenfalls sehr einfach. Um ein Dokument zu durchsuchen, müssen wir die folgenden Informationen angeben:

  • Indexname: Der Name des Index, in dem das Dokument gespeichert ist.
  • Abfrage: Abfragezeichenfolge, die den zu suchenden Text angibt.
  • Paging: Geben Sie die Anzahl der Ergebnisseiten an, die zurückgegeben werden sollen.
  • Anzahl der zurückzugebenden Ergebnisse: Geben Sie die Anzahl der zurückzugebenden Ergebnisdokumente an.

Hier ist ein Beispielcode für die Suche nach Dokumenten in Elasticsearch:

require_once 'vendor/autoload.php';

//Mit dem Elasticsearch-Server verbinden
$client = ElasticsearchClientBuilder::create( ) ->build();

//Indexnamen und Abfrage definieren
$index = 'my_index';
$query = 'content: "first blog post"';

//Suchvorgang durchführen
$params = [

'index' => $index, 'body' => [ 'query' => [ 'query_string' => [ 'query' => $query ] ] ]
Nach dem Login kopieren

];
$response = $client->search($params);

?>

Im obigen Code definieren wir zunächst den Indexnamen und die Abfragezeichenfolge. Diese Informationen geben wir dann an den Elasticsearch-Client weiter, wenn wir einen Suchvorgang durchführen. Schließlich erhalten wir alle Dokumente, die den Abfragekriterien entsprechen, vom Elasticsearch-Server.

  1. Zusammenfassung

In diesem Artikel haben wir vorgestellt, wie man die PHP-Elasticsearch-Bibliothek verwendet, um ein Open-Source-Elasticsearch-SDK zu implementieren. Wir haben gelernt, wie man eine Verbindung zum Elasticsearch-Server herstellt, Dokumente indiziert, Dokumente durchsucht usw. Die PHP-Elasticsearch-Bibliothek verfügt über eine Vielzahl von Funktionen, die Ihnen den einfachen Zugriff auf und die Bearbeitung von Elasticsearch ermöglichen. Wenn Sie an Anwendungen im Zusammenhang mit der Textsuche und -analyse arbeiten, ist die PHP-Elasticsearch-Bibliothek eine gute Wahl.

Das obige ist der detaillierte Inhalt vonPHP implementiert das Open-Source-Elasticsearch-SDK. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
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
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!