Heim Backend-Entwicklung PHP-Tutorial Wie verwende ich Elasticsearch mit CakePHP?

Wie verwende ich Elasticsearch mit CakePHP?

Jun 03, 2023 pm 09:31 PM
使用 elasticsearch cakephp

CakePHP ist ein beliebtes PHP-Framework, das umfangreiche Funktionen und Tools für die Entwicklung von Webanwendungen bietet. Elasticsearch ist ein weiteres beliebtes Tool für die Volltextsuche und -analyse. In diesem Artikel stellen wir vor, wie Sie Elasticsearch mit CakePHP verwenden.

  1. Installieren Sie die Elasticsearch-Komponente

Zuerst müssen wir eine Elasticsearch-Komponente installieren, um sie in CakePHP zu integrieren. Es stehen viele Komponenten zur Verfügung, wir werden jedoch die Komponente „Elasticsearch-php“ verwenden, den offiziell von Elasticsearch bereitgestellten PHP-Client.

Installieren Sie die Komponente mit Composer:

composer require elasticsearch/elasticsearch
Nach dem Login kopieren
  1. Konfigurieren Sie die Verbindung

Als nächstes müssen wir die Verbindung für Elasticsearch konfigurieren. Fügen Sie in der Datei config/app.php die folgende Konfiguration hinzu:

'elastic' => [
    'host' => 'localhost',// Elasticsearch主机
    'port' => '9200',// Elasticsearch端口
],
Nach dem Login kopieren
  1. Modell erstellen

Jetzt müssen wir das Modell für die Interaktion mit Elasticsearch erstellen. Erstellen Sie eine Datei namens ElasticsearchModel.php in src/Model und schreiben Sie den folgenden Code:

<?php
namespace AppModel;

use CakeElasticSearchIndex;

class ElasticsearchModel extends Index
{
    public function initialize(array $config)
    {
        parent::initialize($config);

        $this->setIndex('my_index');// Elasticsearch索引名称
        $this->setType('my_type');// Elasticsearch类型名称
        
        $this->primaryKey('id');// 主键
        $$this->belongsTo('Parent', [
            'className' => 'Parent',
            'foreignKey' => 'parent_id',
        ]);// 关联关系
    }
}
Nach dem Login kopieren
  1. Index erstellen

Jetzt können wir den Elasticsearch-Index erstellen. Verwenden Sie vor Version 4.x den folgenden Befehl:

bin/cake elasticsearch create_index ElasticsearchModel
Nach dem Login kopieren

Nach Version 4.x verwenden Sie den folgenden Befehl:

bin/cake elasticsearch:indices create_indexes ElasticsearchModel
Nach dem Login kopieren
  1. Dokumente hinzufügen

Als nächstes können wir Dokumente hinzufügen. Im Controller können wir den folgenden Code schreiben:

public function add()
{
    $this->request->allowMethod('post');
    $data = $this->request->data;

    $document = $this->ElasticsearchModel->newDocument();
    $document->id = $data['id'];
    $document->parent_id = $data['parent_id'];
    $document->title = $data['title'];
    $document->content = $data['content'];
    $document->body = $data['body'];

    if ($this->ElasticsearchModel->save($document)) {
        $this->Flash->success(__('The document has been saved.'));
        return $this->redirect(['action' => 'index']);
    } else {
        $this->Flash->error(__('The document could not be saved. Please, try again.'));
    }
}
Nach dem Login kopieren
  1. Dokumente durchsuchen

Jetzt können wir nach Dokumenten suchen. Im Controller können wir den folgenden Code schreiben:

public function search()
{
    $this->paginate = [
        'contain' => ['Parent'],
    ];

    $query = $this->request->getQuery('q');
    $documents = $this->ElasticsearchModel->find()
        ->contain(['Parent'])
        ->where(['title LIKE' => "%$query%"])
        ->paginate();

    $this->set(compact('documents'));
}
Nach dem Login kopieren

Wir können Paginator in der Ansicht verwenden, um die Suchergebnisse anzuzeigen.

  1. Dokument löschen

Wenn Sie ein Dokument löschen müssen, können wir den folgenden Code verwenden:

public function delete($id)
{
    $this->request->allowMethod(['post', 'delete']);
    $document = $this->ElasticsearchModel->find()->where(['id' => $id])->firstOrFail();
    if ($this->ElasticsearchModel->delete($document)) {
        $this->Flash->success(__('The document has been deleted.'));
    } else {
        $this->Flash->error(__('The document could not be deleted. Please, try again.'));
    }

    return $this->redirect(['action' => 'index']);
}
Nach dem Login kopieren

Fazit

Oben erfahren Sie, wie Sie Elasticsearch in CakePHP verwenden. In diesem Prozess haben wir die Komponente „Elasticsearch-php“ verwendet, um eine Verbindung zu Elasticsearch herzustellen, ein Elasticsearch-Modell zu erstellen, einen Index zu erstellen, Dokumente hinzuzufügen, nach Dokumenten zu suchen und Dokumente zu löschen.

Für Entwickler ist die Verwendung von Elasticsearch eine einfache und effektive Möglichkeit, Volltextsuche und -analyse zu implementieren. Die Verwendung von Elasticsearch in CakePHP kann uns dabei helfen, Webanwendungen effizienter zu erstellen und eine bessere Benutzererfahrung und Leistung zu bieten.

Das obige ist der detaillierte Inhalt vonWie verwende ich Elasticsearch mit CakePHP?. 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)

CakePHP-Projektkonfiguration CakePHP-Projektkonfiguration Sep 10, 2024 pm 05:25 PM

In diesem Kapitel werden wir die Umgebungsvariablen, die allgemeine Konfiguration, die Datenbankkonfiguration und die E-Mail-Konfiguration in CakePHP verstehen.

So verwenden Sie MDF- und MDS-Dateien So verwenden Sie MDF- und MDS-Dateien Feb 19, 2024 pm 05:36 PM

Verwendung von MDF- und MDS-Dateien Dank der kontinuierlichen Weiterentwicklung der Computertechnologie können wir Daten auf vielfältige Weise speichern und teilen. Im Bereich digitaler Medien stoßen wir häufig auf spezielle Dateiformate. In diesem Artikel besprechen wir ein gängiges Dateiformat – MDF- und MDS-Dateien – und stellen deren Verwendung vor. Zuerst müssen wir die Bedeutung von MDF-Dateien und MDS-Dateien verstehen. mdf ist die Erweiterung der CD/DVD-Imagedatei und die mds-Datei ist die Metadatendatei der mdf-Datei.

Mar 18, 2024 pm 02:58 PM

CrystalDiskMark ist ein kleines HDD-Benchmark-Tool für Festplatten, das schnell sequentielle und zufällige Lese-/Schreibgeschwindigkeiten misst. Lassen Sie sich als Nächstes vom Redakteur CrystalDiskMark und die Verwendung von CrystalDiskMark vorstellen ). Zufällige I/O-Leistung. Es ist eine kostenlose Windows-Anwendung und bietet eine benutzerfreundliche Oberfläche und verschiedene Testmodi zur Bewertung verschiedener Aspekte der Festplattenleistung. Sie wird häufig in Hardware-Reviews verwendet

Mar 18, 2024 am 10:58 AM

foobar2000 ist eine Software, die Ihnen jederzeit Musik aller Art mit verlustfreier Klangqualität bietet Spielen Sie das erweiterte Audio auf dem Computer ab, um ein bequemeres und effizienteres Musikwiedergabeerlebnis zu ermöglichen. Das Interface-Design ist einfach, klar und benutzerfreundlich. Es nimmt einen minimalistischen Designstil an, ohne übermäßige Dekoration Es unterstützt außerdem eine Vielzahl von Skins und Themes, personalisiert Einstellungen nach Ihren eigenen Vorlieben und erstellt einen exklusiven Musikplayer, der die Wiedergabe mehrerer Audioformate unterstützt. Außerdem unterstützt es die Audio-Gain-Funktion zum Anpassen der Lautstärke Passen Sie die Lautstärke entsprechend Ihrem Hörzustand an, um Hörschäden durch zu hohe Lautstärke zu vermeiden. Als nächstes lass mich dir helfen

CakePHP arbeitet mit Datenbank CakePHP arbeitet mit Datenbank Sep 10, 2024 pm 05:25 PM

Das Arbeiten mit der Datenbank in CakePHP ist sehr einfach. In diesem Kapitel werden wir die CRUD-Operationen (Erstellen, Lesen, Aktualisieren, Löschen) verstehen.

So verwenden Sie die Baidu Netdisk-App So verwenden Sie die Baidu Netdisk-App Mar 27, 2024 pm 06:46 PM

Cloud-Speicher sind heutzutage aus unserem täglichen Leben und Arbeiten nicht mehr wegzudenken. Als einer der führenden Cloud-Speicherdienste in China hat Baidu Netdisk mit seinen leistungsstarken Speicherfunktionen, der effizienten Übertragungsgeschwindigkeit und dem komfortablen Bedienerlebnis die Gunst einer großen Anzahl von Benutzern gewonnen. Und egal, ob Sie wichtige Dateien sichern, Informationen teilen, Videos online ansehen oder Musik hören möchten, Baidu Cloud Disk kann Ihre Anforderungen erfüllen. Viele Benutzer verstehen jedoch möglicherweise nicht die spezifische Verwendung der Baidu Netdisk-App. Dieses Tutorial führt Sie daher im Detail in die Verwendung der Baidu Netdisk-App ein. Wenn Sie immer noch verwirrt sind, folgen Sie bitte diesem Artikel, um mehr im Detail zu erfahren. So verwenden Sie Baidu Cloud Network Disk: 1. Installation Wählen Sie beim Herunterladen und Installieren der Baidu Cloud-Software zunächst die benutzerdefinierte Installationsoption aus.

So verwenden Sie NetEase Mailbox Master So verwenden Sie NetEase Mailbox Master Mar 27, 2024 pm 05:32 PM

NetEase Mailbox ist eine von chinesischen Internetnutzern weit verbreitete E-Mail-Adresse und hat mit seinen stabilen und effizienten Diensten schon immer das Vertrauen der Benutzer gewonnen. NetEase Mailbox Master ist eine E-Mail-Software, die speziell für Mobiltelefonbenutzer entwickelt wurde. Sie vereinfacht das Senden und Empfangen von E-Mails erheblich und macht unsere E-Mail-Verarbeitung komfortabler. Wie Sie NetEase Mailbox Master verwenden und welche spezifischen Funktionen es bietet, wird Ihnen der Herausgeber dieser Website im Folgenden ausführlich vorstellen und hofft, Ihnen weiterzuhelfen! Zunächst können Sie die NetEase Mailbox Master-App im Mobile App Store suchen und herunterladen. Suchen Sie im App Store oder im Baidu Mobile Assistant nach „NetEase Mailbox Master“ und befolgen Sie dann die Anweisungen zur Installation. Nachdem der Download und die Installation abgeschlossen sind, öffnen wir das NetEase-E-Mail-Konto und melden uns an. Die Anmeldeschnittstelle ist wie unten dargestellt

BTCC-Tutorial: Wie kann ich die MetaMask-Wallet an der BTCC-Börse binden und verwenden? BTCC-Tutorial: Wie kann ich die MetaMask-Wallet an der BTCC-Börse binden und verwenden? Apr 26, 2024 am 09:40 AM

MetaMask (auf Chinesisch auch Little Fox Wallet genannt) ist eine kostenlose und beliebte Verschlüsselungs-Wallet-Software. Derzeit unterstützt BTCC die Bindung an die MetaMask-Wallet. Nach der Bindung können Sie sich mit der MetaMask-Wallet schnell anmelden, Werte speichern, Münzen kaufen usw. und bei der erstmaligen Bindung einen Testbonus von 20 USDT erhalten. Im BTCCMetaMask-Wallet-Tutorial stellen wir detailliert vor, wie man MetaMask registriert und verwendet und wie man das Little Fox-Wallet in BTCC bindet und verwendet. Was ist die MetaMask-Wallet? Mit über 30 Millionen Nutzern ist MetaMask Little Fox Wallet heute eines der beliebtesten Kryptowährungs-Wallets. Die Nutzung ist kostenlos und kann als Erweiterung im Netzwerk installiert werden

See all articles