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.
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.
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" }
}
Führen Sie dann den folgenden Befehl zur Installation aus PHP-Elasticsearch-Bibliothek:
Composer-Installation
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.
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:
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.']
];
//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.
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:
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 ] ] ]
];
$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.
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!