Heim >Backend-Entwicklung >PHP-Tutorial >So erstellen Sie eine Suchfunktion mit mehreren Kriterien mit Elasticsearch und PHP
So verwenden Sie Elasticsearch und PHP zum Erstellen von Suchfunktionen mit mehreren Bedingungen
Einführung:
Elasticsearch ist eine verteilte Open-Source-Such- und Analysemaschine, die häufig zum Erstellen leistungsstarker Suchfunktionen verwendet wird. Es ermöglicht eine schnelle und genaue Suche und unterstützt verschiedene Arten von Abfragen. In diesem Artikel wird erläutert, wie Sie mit Elasticsearch und PHP Suchfunktionen mit mehreren Bedingungen erstellen und entsprechende Codebeispiele bereitstellen.
{ "require": { "elasticsearch/elasticsearch": "^7.0" } }
Führen Sie dann den Befehl composer install
aus, um die Elasticsearch-PHP-Erweiterung zu installieren.
<?php require 'vendor/autoload.php'; use ElasticsearchClientBuilder; $hosts = [ 'http://localhost:9200' // Elasticsearch的访问地址 ]; $client = ClientBuilder::create()->setHosts($hosts)->build(); ?>
Definieren Sie zunächst eine Indexkonfiguration und -zuordnung. Beispielsweise erstellen wir einen Index namens „Artikel“, definieren den Typ „Artikel“ und geben die Typen der Felder „Titel“ und „Inhalt“ an:
<?php $params = [ 'index' => 'articles', 'body' => [ 'mappings' => [ 'properties' => [ 'title' => ['type' => 'text'], 'content' => ['type' => 'text'] ] ] ] ]; $response = $client->indices()->create($params); ?>
Anschließend fügen wir dem Index Dokumente hinzu. Fügen wir zum Beispiel ein Dokument mit dem Titel „Neuigkeiten“ hinzu:
<?php $params = [ 'index' => 'articles', 'body' => [ 'title' => '新闻', 'content' => '这是一条新闻' ] ]; $response = $client->index($params); ?>
<?php $params = [ 'index' => 'articles', 'body' => [ 'query' => [ 'bool' => [ 'must' => [ ['match' => ['title' => '新闻']], ['match' => ['content' => '国际']] ] ] ] ] ]; $response = $client->search($params); ?>
Abschließend durchlaufen wir die Suchergebnisse und drucken den Titel und Inhalt jedes Dokuments aus:
<?php foreach ($response['hits']['hits'] as $hit) { echo '标题:' . $hit['_source']['title'] . '<br>'; echo '内容:' . $hit['_source']['content'] . '<br>'; echo '----------------<br>'; } ?>
Fazit:
Mit den oben genannten Schritten können wir mithilfe von Elasticsearch und PHP Suchfunktionen mit mehreren Kriterien erstellen. Installieren und konfigurieren Sie zunächst Elasticsearch und die entsprechende PHP-Erweiterung. Stellen Sie dann eine Verbindung zu Elasticsearch her, erstellen Sie schließlich einen Index, führen Sie eine Suche mit mehreren Bedingungen durch und verarbeiten Sie die Suchergebnisse.
Hinweis: Um die Genauigkeit und Leistung der Suche sicherzustellen, wird empfohlen, den Index vor der Verwendung einer Suche mit mehreren Bedingungen zu optimieren, z. B. durch die Einrichtung eines geeigneten Wortsegmentierers, den Aufbau eines Index usw.
Referenzmaterialien:
Das obige ist der detaillierte Inhalt vonSo erstellen Sie eine Suchfunktion mit mehreren Kriterien mit Elasticsearch und PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!