


So verwenden Sie Elasticsearch zur Implementierung von Suchfunktionen in der PHP-Entwicklung
Mit der Entwicklung des Internets hat die Bedeutung von Suchmaschinen immer mehr an Bedeutung gewonnen. Suchmaschinen müssen nicht nur in der Lage sein, schnell nach relevanten Inhalten zu suchen, sondern auch effizient, stabil und skalierbar zu sein. Als beliebte verteilte Suchmaschine ist Elasticsearch für viele Unternehmen zur ersten Wahl im Suchbereich geworden. In diesem Artikel wird erläutert, wie Sie die PHP-Entwicklung verwenden und mit Elasticsearch kombinieren, um Suchfunktionen zu implementieren.
- Elasticsearch installieren
Bevor wir beginnen, müssen wir zuerst Elasticsearch installieren. Elasticsearch ist eine Java-Anwendung, daher müssen wir zuerst Java installieren und die komprimierte Datei von Elasticsearch herunterladen. Entpacken Sie dann die Datei in das angegebene Verzeichnis.
- Erstellen Sie einen Index
Das Erstellen eines Index ist der erste Schritt beim Speichern der Dokumente, die wir in Elasticsearch durchsuchen möchten. Normalerweise können wir uns einen Index als eine Tabelle in einer Datenbank vorstellen, die aus einer Reihe von Dokumenten (Datenzeilen) besteht.
In PHP können wir den Elasticsearch-PHP-Client verwenden, um mit Elasticsearch zu interagieren. Sie müssen zuerst das Elasticsearch-PHP-Paket installieren:
Composer erfordert Elasticsearch/Elasticsearch
Das Folgende ist ein Beispielcode zum Erstellen eines Index:
require 'vendor/autoload.php'; $client = ElasticsearchClientBuilder::create()->build(); $params = [ 'index' => 'my_index', 'body' => [ 'settings' => [ 'number_of_shards' => 1, 'number_of_replicas' => 0, ], 'mappings' => [ 'my_type' => [ 'properties' => [ 'title' => [ 'type' => 'text' ], 'content' => [ 'type' => 'text' ], 'post_date' => [ 'type' => 'date', 'format' => 'yyyy-MM-dd HH:mm:ss' ] ] ] ] ] ]; $response = $client->indices()->create($params);
Im obigen Code erstellen wir einen Index mit dem Namen „my_index“ und definieren einen Index mit dem Namen „my_type“ Typ. Wir haben drei Felder unter dem Typ „my_type“ definiert: Titel, Inhalt und Post_Datum.
- Dokumente zum Index hinzufügen
Nachdem wir den Index erstellt haben, müssen wir Dokumente zum Index hinzufügen, die bei der Suche relevante Ergebnisse liefern.
Zum Beispiel fügen wir einen Artikel mit dem Titel „PHP-Entwicklungspraxis“ hinzu:
$params = [ 'index' => 'my_index', 'type' => 'my_type', 'id' => '1', 'body' => [ 'title' => 'PHP开发实战', 'content' => '本文介绍如何在PHP中使用Elasticsearch实现搜索功能。', 'post_date' => date('Y-m-d H:i:s') ] ]; $response = $client->index($params);
- Daten durchsuchen
Die Suche ist eine der grundlegendsten und am häufigsten verwendeten Funktionen von Elasticsearch. Elasticsearch unterstützt eine Vielzahl von Abfragemethoden, darunter:
- Einfache Zeichenfolgenabfrage
- Zusammengesetzte Abfrage
- Bereichsabfrage
- Abfrage nach genauen Werten
- Abfrage mit regulären Ausdrücken
- Fuzzy-Abfrage
- Aggregationsabfrage und mehr
Das Folgende ist Ein einfaches Suchbeispiel, das Text- und Datumsbereichsbedingungen verwendet:
$params = [ 'index' => 'my_index', 'type' => 'my_type', 'body' => [ 'query' => [ 'bool' => [ 'must' => [ [ 'match' => [ 'title' => 'PHP' ] ], [ 'range' => [ 'post_date' => [ 'gte' => '2021-01-01 00:00:00', 'lte' => '2021-01-31 23:59:59' ] ] ] ] ] ] ] ]; $response = $client->search($params);
Im obigen Code verwenden wir „Match“- und „Range“-Abfragen, um nach Artikeln zu suchen, die „PHP“ im Titel enthalten und in den Ergebnissen 2021 innerhalb von 1 veröffentlicht werden Monat.
- Ergebnisverarbeitung
Schließlich müssen wir die Suchergebnisse an PHP zurückgeben und sie für die endgültige Präsentation für den Benutzer verarbeiten.
$hits = $response['hits']['hits']; foreach ($hits as $hit) { echo $hit['_source']['title'] . " "; echo $hit['_source']['content'] . " "; echo $hit['_source']['post_date'] . " "; }
Im obigen Code durchlaufen wir jedes Dokument im Suchergebnissatz und geben den Titel, den Inhalt und das Veröffentlichungsdatum des Dokuments aus.
Zusammenfassung
Dieser Artikel stellt vor, wie man PHP in Kombination mit Elasticsearch verwendet, um Suchfunktionen zu implementieren. Durch das Studium dieses Artikels erfahren Sie mehr über grundlegende Vorgänge wie das Erstellen von Indizes, das Hinzufügen von Dokumenten, das Durchsuchen von Daten und das Verarbeiten von Ergebnissen. Natürlich verfügt Elasticsearch auch über viele Verwendungstechniken wie Aggregationsabfrage, Hervorhebung, Sortierung usw. Diese Techniken können uns dabei helfen, Elasticsearch besser für die Implementierung von Suchfunktionen zu nutzen.
Das obige ist der detaillierte Inhalt vonSo verwenden Sie Elasticsearch zur Implementierung von Suchfunktionen in der PHP-Entwicklung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



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.

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

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

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

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

Die Anmeldung bei CakePHP ist eine sehr einfache Aufgabe. Sie müssen nur eine Funktion verwenden. Sie können Fehler, Ausnahmen, Benutzeraktivitäten und von Benutzern durchgeführte Aktionen für jeden Hintergrundprozess wie Cronjob protokollieren. Das Protokollieren von Daten in CakePHP ist einfach. Die Funktion log() wird bereitgestellt

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