Heim Backend-Entwicklung PHP-Tutorial So nutzen Sie Elasticsearch und PHP für die Dokumentenverwaltung und den Abruf

So nutzen Sie Elasticsearch und PHP für die Dokumentenverwaltung und den Abruf

Jul 08, 2023 pm 01:18 PM
php elasticsearch 文档管理 检索

So nutzen Sie Elasticsearch und PHP für die Dokumentenverwaltung und -abfrage

Übersicht
Elasticsearch ist eine verteilte Open-Source-Suchmaschine mit leistungsstarken Textsuch- und Analysefunktionen. PHP ist eine beliebte serverseitige Programmiersprache, die häufig für die Webentwicklung verwendet wird. In diesem Artikel wird die Verwendung von Elasticsearch und PHP für die Dokumentenverwaltung und den Dokumentenabruf vorgestellt und Codebeispiele bereitgestellt, um den Lesern das Verständnis und die Übung zu erleichtern.

Elasticsearch installieren und konfigurieren
Zuerst müssen wir Elasticsearch installieren und konfigurieren. Sie können die neueste Version von der offiziellen Website von Elasticsearch herunterladen und den Anweisungen zur Installation folgen. Nach Abschluss der Installation müssen Sie einige grundlegende Konfigurationen für Elasticsearch durchführen, z. B. das Festlegen des Clusternamens und des Knotennamens. Informationen zu bestimmten Konfigurationsmethoden finden Sie in der offiziellen Dokumentation von Elasticsearch.

PHP-Client installieren und konfigurieren
Als nächstes müssen wir den PHP-Client installieren und konfigurieren, um mit Elasticsearch interagieren zu können. Es wird empfohlen, den offiziell von Elasticsearch bereitgestellten PHP-Client – ​​Elasticsearch-PHP (https://www.elastic.co/guide/en/elasticsearch/client/php-api/current/index.html) zu verwenden. Sie können Composer verwenden, um den Client zu installieren. Der Befehl lautet wie folgt:

composer require elasticsearch/elasticsearch

Nach Abschluss der Installation können wir den folgenden Code verwenden, um eine Verbindung zu Elasticsearch herzustellen und zu überprüfen, ob die Verbindung erfolgreich ist:

require 'vendor/autoload.php';

$client = ElasticsearchClientBuilder::create()
            ->setHosts(['localhost:9200'])
            ->build();

$params = [
    'index' => 'test_index',
    'body' => [
        'query' => [
            'match_all' => new stdClass(),
        ],
    ],
];

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

print_r($response);
Nach dem Login kopieren

Im obigen Code haben wir zuerst den Elasticsearch-PHP-Client eingeführt und eine Elasticsearch-Client-Instanz erstellt. Anschließend verwenden wir diese Client-Instanz, um eine einfache Abfrageanforderung zu senden. match_all in der Abfrageanweisung bedeutet, dass alle Dokumente abgeglichen werden, und test_index bedeutet, dass der Index abgefragt werden soll. Abschließend senden wir die Abfrageanforderung über die Methode search und drucken die Abfrageergebnisse aus. match_all表示匹配所有文档,test_index表示要查询的索引。最后,我们通过search方法发送查询请求,并打印出查询结果。

创建索引和文档
接下来,我们将学习如何创建索引和文档。索引是存储文档的地方,类似于关系数据库中的表。而文档则是实际的数据,类似于关系数据库中的行。可以使用以下代码来创建索引和一个简单的文档:

$params = [
    'index' => 'my_index',
    'body' => [
        'settings' => [
            'number_of_replicas' => 0,
            'number_of_shards' => 1,
        ],
        'mappings' => [
            'properties' => [
                'title' => [
                    'type' => 'text',
                ],
                'content' => [
                    'type' => 'text',
                ],
            ],
        ],
    ],
];

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

$params = [
    'index' => 'my_index',
    'id' => '1',
    'body' => [
        'title' => 'Elasticsearch入门指南',
        'content' => '本书详细介绍了如何使用Elasticsearch进行文档管理和检索。',
    ],
];

$response = $client->index($params);
Nach dem Login kopieren

以上代码中,我们首先使用indices()->create方法创建了一个名为my_index的索引,并指定了一些索引的设置和属性(mapping)。接着,我们使用index方法创建了一个文档,并指定了文档的标题和内容。

搜索文档
有了索引和文档后,我们可以使用Elasticsearch进行搜索。以下是一个简单的搜索示例代码:

$params = [
    'index' => 'my_index',
    'body' => [
        'query' => [
            'match' => [
                'title' => '入门指南',
            ],
        ],
    ],
];

$response = $client->search($params);
print_r($response);
Nach dem Login kopieren

以上代码中,我们使用了match查询来搜索标题中包含入门指南的文档。通过打印查询结果,我们可以看到Elasticsearch返回了匹配的文档信息。

更新和删除文档
当需要更新或删除文档时,可以使用以下代码示例:

$params = [
    'index' => 'my_index',
    'id' => '1',
    'body' => [
        'doc' => [
            'title' => 'Elasticsearch入门指南(第二版)',
        ],
    ],
];

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

$params = [
    'index' => 'my_index',
    'id' => '1',
];

$response = $client->delete($params);
Nach dem Login kopieren

以上代码中,我们首先使用update方法更新了ID为1的文档的标题。然后,使用delete

Indizes und Dokumente erstellen

Als nächstes lernen wir, wie man Indizes und Dokumente erstellt. In einem Index werden Dokumente gespeichert, ähnlich einer Tabelle in einer relationalen Datenbank. Dokumente sind tatsächliche Daten, ähnlich wie Zeilen in einer relationalen Datenbank. Sie können den folgenden Code verwenden, um einen Index und ein einfaches Dokument zu erstellen:
rrreee

Im obigen Code verwenden wir zunächst die Methode indices()->create, um eine Datei mit dem Namen zu erstellen my_index Index und gibt einige Indexeinstellungen und Eigenschaften (Zuordnung) an. Als Nächstes verwenden wir die Methode index, um ein Dokument zu erstellen und den Titel und Inhalt des Dokuments anzugeben. 🎜🎜Dokumente durchsuchen🎜Sobald der Index und die Dokumente vorhanden sind, können wir mit Elasticsearch suchen. Hier ist ein einfacher Suchbeispielcode: 🎜rrreee🎜Im obigen Code haben wir die match-Abfrage verwendet, um nach Dokumenten zu suchen, deren Titel Getting Started enthält. Durch Drucken der Abfrageergebnisse können wir sehen, dass Elasticsearch übereinstimmende Dokumentinformationen zurückgegeben hat. 🎜🎜Dokumente aktualisieren und löschen🎜Wenn Sie ein Dokument aktualisieren oder löschen müssen, können Sie das folgende Codebeispiel verwenden: 🎜rrreee🎜Im obigen Code verwenden wir zunächst die Methode update, um den Titel zu aktualisieren des Dokuments mit der ID 1. Anschließend wird das Dokument mit der ID 1 mit der Methode delete gelöscht. 🎜🎜Zusammenfassung🎜Durch die Einführung und Codebeispiele dieses Artikels haben wir gelernt, wie man Elasticsearch und PHP für die Dokumentenverwaltung und den Dokumentenabruf verwendet. Zuerst müssen wir Elasticsearch und den Elasticsearch-PHP-Client mit Composer installieren und konfigurieren. Anschließend lernten wir, wie man Indizes und Dokumente erstellt und wie man Dokumente durchsucht, aktualisiert und löscht. Ich hoffe, dass dieser Artikel den Lesern helfen kann, Elasticsearch und PHP für die Dokumentenverwaltung und den Dokumentenabruf besser zu verstehen und zu nutzen. 🎜

Das obige ist der detaillierte Inhalt vonSo nutzen Sie Elasticsearch und PHP für die Dokumentenverwaltung und den Abruf. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

PHP 8.4 Installations- und Upgrade-Anleitung für Ubuntu und Debian PHP 8.4 Installations- und Upgrade-Anleitung für Ubuntu und Debian Dec 24, 2024 pm 04:42 PM

PHP 8.4 bringt mehrere neue Funktionen, Sicherheitsverbesserungen und Leistungsverbesserungen mit einer beträchtlichen Menge an veralteten und entfernten Funktionen. In dieser Anleitung wird erklärt, wie Sie PHP 8.4 installieren oder auf PHP 8.4 auf Ubuntu, Debian oder deren Derivaten aktualisieren. Obwohl es möglich ist, PHP aus dem Quellcode zu kompilieren, ist die Installation aus einem APT-Repository wie unten erläutert oft schneller und sicherer, da diese Repositorys in Zukunft die neuesten Fehlerbehebungen und Sicherheitsupdates bereitstellen.

CakePHP Datum und Uhrzeit CakePHP Datum und Uhrzeit Sep 10, 2024 pm 05:27 PM

Um in cakephp4 mit Datum und Uhrzeit zu arbeiten, verwenden wir die verfügbare FrozenTime-Klasse.

Besprechen Sie CakePHP Besprechen Sie CakePHP Sep 10, 2024 pm 05:28 PM

CakePHP ist ein Open-Source-Framework für PHP. Es soll die Entwicklung, Bereitstellung und Wartung von Anwendungen erheblich vereinfachen. CakePHP basiert auf einer MVC-ähnlichen Architektur, die sowohl leistungsstark als auch leicht zu verstehen ist. Modelle, Ansichten und Controller gu

CakePHP-Datei hochladen CakePHP-Datei hochladen Sep 10, 2024 pm 05:27 PM

Um am Datei-Upload zu arbeiten, verwenden wir den Formular-Helfer. Hier ist ein Beispiel für den Datei-Upload.

CakePHP erstellt Validatoren CakePHP erstellt Validatoren Sep 10, 2024 pm 05:26 PM

Der Validator kann durch Hinzufügen der folgenden zwei Zeilen im Controller erstellt werden.

So richten Sie Visual Studio-Code (VS-Code) für die PHP-Entwicklung ein So richten Sie Visual Studio-Code (VS-Code) für die PHP-Entwicklung ein Dec 20, 2024 am 11:31 AM

Visual Studio Code, auch bekannt als VS Code, ist ein kostenloser Quellcode-Editor – oder eine integrierte Entwicklungsumgebung (IDE) –, die für alle gängigen Betriebssysteme verfügbar ist. Mit einer großen Sammlung von Erweiterungen für viele Programmiersprachen kann VS Code c

CakePHP-Kurzanleitung CakePHP-Kurzanleitung Sep 10, 2024 pm 05:27 PM

CakePHP ist ein Open-Source-MVC-Framework. Es erleichtert die Entwicklung, Bereitstellung und Wartung von Anwendungen erheblich. CakePHP verfügt über eine Reihe von Bibliotheken, um die Überlastung der häufigsten Aufgaben zu reduzieren.

Wie analysiert und verarbeitet man HTML/XML in PHP? Wie analysiert und verarbeitet man HTML/XML in PHP? Feb 07, 2025 am 11:57 AM

Dieses Tutorial zeigt, wie XML -Dokumente mit PHP effizient verarbeitet werden. XML (Extensible Markup-Sprache) ist eine vielseitige textbasierte Markup-Sprache, die sowohl für die Lesbarkeit des Menschen als auch für die Analyse von Maschinen entwickelt wurde. Es wird üblicherweise für die Datenspeicherung ein verwendet und wird häufig verwendet

See all articles