Heim  >  Artikel  >  Backend-Entwicklung  >  Integration von PHP und Elasticsearch

Integration von PHP und Elasticsearch

王林
王林Original
2023-05-15 13:31:361080Durchsuche

Integration von PHP und Elasticsearch

Mit der Entwicklung von Big Data und Data Mining sind Suchmaschinen zu einem unverzichtbaren Werkzeug in unserem Leben geworden. Elasticsearch ist eine schnelle, offene und skalierbare Such- und Analysemaschine, die problemlos den Volltextabruf, die Datenanalyse sowie die Datenspeicherung und -abfrage in Echtzeit durchführen kann. Wie kann man Elasticsearch mit PHP integrieren?

1. Elasticsearch installieren

Zuerst müssen wir Elasticsearch installieren. Sie können auf der offiziellen Website von Elasticsearch das Installationspaket der entsprechenden Version herunterladen und es dann an den gewünschten Speicherort entpacken. Sie können den Befehl „elasticsearch.bat“ (Windows)/elasticsearch (Linux) im bin-Verzeichnis von Elasticsearch sehen.

Führen Sie den Befehl elasticsearch.bat/ aus, um Elasticsearch zu starten. Wenn alles gut gelaufen ist, haben Sie jetzt einen Elasticsearch-Knoten gestartet. Verwenden Sie die Adresse http://localhost:9200/, um auf die von Elasticsearch bereitgestellte RESTful-API zuzugreifen.

2. Installieren und konfigurieren Sie den PHP-Elasticsearch-Client

Wir müssen den PHP-Elasticsearch-Client herunterladen und installieren, z. B. Elasticsearch-PHP oder die offizielle Elasticsearch-Bibliothek php-elasticsearch (Elasticsearch 7+ Version muss installiert sein). Diese Bibliotheken sind alle sehr nützlich und verfügen über eine vollständige Dokumentation und Beispiele. Nehmen wir als Beispiel den Elasticsearch-PHP-Client:

1. Installation

Sie können Composer verwenden, um den Elasticsearch-PHP-Client zu installieren. Wechseln Sie in das Stammverzeichnis Ihres PHP-Projekts und führen Sie den folgenden Befehl aus:

composer require elasticsearch/elasticsearch

2. Verwenden Sie

, um Autoloader einzuführen, und instanziieren Sie dann das mit Elasticsearch verbundene Client-Objekt:

require 'vendor/autoload .php ';
$client = ElasticsearchClientBuilder::create()->build();

Hier erstellen wir einen Elasticsearch-Client in PHP. Als Nächstes können Sie CRUD-Operationen für Elasticsearch-Daten durchführen.

3. Elasticsearch-Vorgang

1. Index erstellen

Index ist eines der wichtigsten Konzepte in Elasticsearch. Wir müssen verschiedene Indizes für unterschiedliche Geschäftsanforderungen erstellen. Ein Index namens my_index kann mit dem folgenden Code erstellt werden:

$params = [

'index' => 'my_index',
'body' => [
    'settings' => [
        'number_of_shards' => 3,
        'number_of_replicas' => 2
    ]
]

];
$response = $client->indices()->create($params);

im obigen In Im Code geben wir den Namen des zu erstellenden Index und die Einstellungsattribute (Anzahl der Shards und Replikate) an, die dem Index entsprechen. Bei der tatsächlichen Verwendung wird empfohlen, detailliertere Einstellungsattribute entsprechend den Geschäftsanforderungen zu konfigurieren.

2. Dokumente einfügen

Verwenden Sie die Massenmethode, um mehrere Dokumente einzufügen:

$params = [

'body' => [
    ['index' => ['_id' => 1]],
    ['name' => 'product1', 'price' => 10.0, 'description' => 'description of product1'],
    ['index' => ['_id' => 2]],
    ['name' => 'product2', 'price' => 20.0, 'description' => 'description of product2'],
    ['index' => ['_id' => 3]],
    ['name' => 'product3', 'price' => 30.0, 'description' => 'description of product3'],
    ['index' => ['_id' => 4]],
    ['name' => 'product4', 'price' => 40.0, 'description' => 'description of product4'],
],
'index' => 'my_index',
'type' => 'my_type'

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

3 Verwenden Sie die Suchmethode, um Dokumente abzufragen:

$params = [

'index' => 'my_index',
'type' => 'my_type',
'body' => [
    'query' => [
        'match' => [
            'name' => 'product1'
        ]
    ]
]

];

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


4. Löschen Sie den Index

Um den Index zu löschen, können Sie Verwenden Sie die Löschmethode:

$ params = [

'index' => 'my_index'

];

$response = $client->indices()->delete($params);


Summary

Mit dem obigen Code können Sie ganz einfach Erstellen Sie einen Elasticsearch-Index und fügen Sie Dokumente ein, fragen Sie Dokumente ab, löschen Sie Indizes und andere Vorgänge. Dies wird Ihr Sucherlebnis zweifellos verbessern. Die Integration von Elasticsearch und PHP ist ein sehr praktisches und leistungsstarkes Tool.

Das obige ist der detaillierte Inhalt vonIntegration von PHP und Elasticsearch. 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