Verwenden von Elasticsearch in PHP für die Suche nach geografischen Standorten
Zusammenfassung: In diesem Artikel wird erläutert, wie Sie PHP und Elasticsearch verwenden, um die Suchfunktion für geografische Standorte zu implementieren. Wir erklären Ihnen, wie Sie Elasticsearch konfigurieren, Geolocation-Daten indizieren, Geolocation-Suchen durchführen und entsprechende PHP-Codebeispiele bereitstellen.
Bevor wir beginnen, müssen wir sicherstellen, dass PHP und Elasticsearch installiert und konfiguriert sind. Befolgen Sie dazu die folgenden Schritte:
elasticsearch
curl -XPUT 'http://localhost:9200/locations'
curl -XPUT 'http://localhost:9200/locations/_mapping' -H 'Content-Type: application/json' -d ' { "properties": { "location": { "type": "geo_point" } } }'
<?php require 'vendor/autoload.php'; use ElasticsearchClientBuilder; $client = ClientBuilder::create()->build(); $params = [ 'index' => 'locations', 'type' => 'location', 'id' => '1', 'body' => [ 'location' => [ 'lat' => 37.7749, 'lon' => -122.4194 ] ] ]; $response = $client->index($params); print_r($response);
<?php require 'vendor/autoload.php'; use ElasticsearchClientBuilder; $client = ClientBuilder::create()->build(); $params = [ 'index' => 'locations', 'type' => 'location', 'body' => [ 'query' => [ 'bool' => [ 'must' => [ 'match_all' => (object) [] ], 'filter' => [ 'geo_distance' => [ 'distance' => '100km', 'location' => [ 'lat' => 37.7749, 'lon' => -122.4194 ] ] ] ] ] ] ]; $response = $client->search($params); print_r($response);
Offizielle Dokumentation von Elasticsearch: [https://www.elastic.co/guide/en/elasticsearch/reference/current/index.html](https://www.elastic.co/guide/ en/elasticsearch/reference/current/index.html)
Elasticsearch PHP-Client-Dokumentation: [https://www.elastic.co/guide/en/elasticsearch/client/php-api/current/index.html]( https ://www.elastic.co/guide/en/elasticsearch/client/php-api/current/index.html)
Das obige ist der detaillierte Inhalt vonVerwendung von Elasticsearch für die geografische Standortsuche in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!