Heim >Backend-Entwicklung >PHP-Tutorial >PHP implementiert das Open-Source-Elasticsearch-SDK

PHP implementiert das Open-Source-Elasticsearch-SDK

PHPz
PHPzOriginal
2023-06-18 09:22:151384Durchsuche

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"
}

}

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:

cb5757e93c97b01ad20a4e6d09a8bb41build () ;

?>

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:

cf0e43c1ea6c5836a6fda4d5bb996869build();

//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.

  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:

4f37129a1e6c27210bc4341070449f76build();

//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.

  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!

Stellungnahme:
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