Aktueller Standort: Startseite> Neueste Artikel> So implementieren Sie mit PHP und ElasticSearch die Near-Real-Zeit-Suche

So implementieren Sie mit PHP und ElasticSearch die Near-Real-Zeit-Suche

M66 2025-06-21

So implementieren Sie mit PHP und ElasticSearch die Near-Real-Zeit-Suche

Die Suchfunktionalität ist in modernen Webanwendungen unverzichtbar, insbesondere wenn sie mit großen Datenmengen und hohen gleichzeitigen Abfragen konfrontiert sind. Herkömmliche Datenbank-Abfragemethoden können diese Anforderungen normalerweise nicht erfüllen, und Elasticsearch als leistungsstarke verteilte Suchmaschine kann große Daten effizient verarbeiten und die Nahverkehrssuche unterstützen.

Installieren Sie ElasticSearch- und PHP -Clients

Zunächst müssen Sie Elasticsearch auf dem Server installieren. Sie können auf die offizielle Website zugreifen, um die neueste Version des Installationspakets herunterzuladen und sie gemäß den entsprechenden Dokumenten zu installieren und zu konfigurieren.

Verwenden Sie als nächstes den Komponisten, um die Elasticsearch -Client -Bibliothek von PHP zu installieren. Führen Sie den folgenden Befehl aus, um zu installieren:

Der Komponist benötigt Elasticsearch/ElasticSearch

Verbindung zu ElasticSearch herstellen

Im PHP -Code müssen Sie zunächst eine Instanz des Elasticsearch -Clients erstellen und eine Verbindung zum Elasticsearch -Server herstellen. Hier ist ein Beispielcode:

erfordern 'Anbieter/autoload.php';
$ client = elasticsearchClientBuilder :: create ()-> build ();

Erstellen Sie Indizes und Karten

Vor der Suche müssen Sie Indizes und Zuordnungen erstellen. In Elasticsearch entsprechen Indizes den Tabellen in der Datenbank, während Karten die Struktur der Daten definieren. Hier ist ein Beispiel für das Erstellen eines Index und das Definieren einer Zuordnung:

$ params = [
    'Index' => 'my_index',
    'Körper' => [
        'Mappings' => [
            'Eigenschaften' => [
                'title' => ['type' => 'text'],
                'Inhalt' => ['Typ' => 'text']
            ]
        ]
    ]
];
$ response = $ client-> indices ()-> create ($ params);

Der obige Code erstellt einen Index namens "my_index" und definiert eine Zuordnung von Texttypen für die Felder "Titel" und "Inhalt". Sie können Felder und Datentypen entsprechend Ihren Anforderungen anpassen.

Fügen Sie ein Dokument hinzu

Als nächstes müssen Sie die Daten zum Index hinzufügen. Der folgende Code zeigt, wie ein Dokument mit den Feldern "Titel" und "Inhalt" zum Index hinzugefügt wird:

$ params = [
    'Index' => 'my_index',
    'Körper' => [
        'title' => 'Beispieltitel',
        'Inhalt' => 'Beispielinhalt'
    ]
];
$ response = $ client-> index ($ params);

Dieser Code fügt ein Dokument hinzu, das die Felder "Titel" und "Inhalt" zum Index "my_index" enthält, und Sie können nach Bedarf weitere Felder hinzufügen.

Erstellen Sie eine Suchabfrage

Sobald die Daten hinzugefügt wurden, können Sie eine Suchabfrage erstellen, um die Daten abzurufen. Hier ist ein einfaches Beispiel für Suchanfragen:

$ params = [
    'Index' => 'my_index',
    'Körper' => [
        'query' => [
            'Match' => [
                'title' => 'Beispiel' '
            ]
        ]
    ]
];
$ response = $ client-> such ($ params);
<p>foreach ($ response [&#39;hits&#39;] [&#39;hits&#39;] als $ hit) {<br>
echo $ hit [&#39;_ Source&#39;] [&#39;Titel&#39;]. "\N";<br>
}<br>

Dieser Code erstellt eine Match -Abfrage für das Feld "Titel" und gibt den Matching -Dokumenttitel aus.

Zusammenfassen

Durch die Kombination von PHP und Elasticsearch können Sie schnell und effiziente Suchfunktionen der Nahverwaltung. Dieser Artikel beschreibt den vollständigen Vorgang aus der Installation und Konfiguration von Elasticsearch mit der Verbindung von Elasticsearch, dem Erstellen von Indizes, dem Hinzufügen von Dokumenten und der Durchführung von Suchvorgängen. Ich hoffe, dieser Artikel kann Ihnen helfen, besser zu verstehen, wie Sie Elasticsearch in Webanwendungen integrieren und ein reibungsloses Sucherlebnis erzielen.