Rumah >pembangunan bahagian belakang >tutorial php >Soalan Lazim tentang pengambilan dokumen dalam PHP berdasarkan Elasticsearch
Soalan Lazim tentang pengambilan dokumen berdasarkan Elasticsearch dalam PHP
Pengenalan
Elasticsearch ialah sumber terbuka yang menyediakan enjin carian yang diedarkan dengan pantas mendapatkan semula dokumen dan keupayaan analisis. Pengambilan semula dokumen menggunakan Elasticsearch dalam PHP adalah keperluan biasa. Artikel ini akan menjawab beberapa soalan biasa dan memberikan contoh kod khusus.
Soalan 1: Bagaimana untuk memasang klien Elasticsearch PHP?
Anda boleh menggunakan Composer untuk memasang klien Elasticsearch PHP Menggunakan Composer boleh memudahkan pengurusan pergantungan. Mula-mula, buat fail composer.json dalam direktori akar projek dan tambah kandungan berikut:
{ "require": { "elasticsearch/elasticsearch": "^6.0" } }
Seterusnya, jalankan arahan berikut dalam terminal untuk memasang klien Elasticsearch PHP:
composer install# 🎜 🎜#Dengan cara ini, klien Elasticsearch PHP akan dipasang dalam direktori vendor projek. Soalan 2: Bagaimana hendak menyambung ke pelayan Elasticsearch?
Menyambung ke pelayan Elasticsearch memerlukan penggunaan kelas ElasticsearchClient yang disediakan oleh klien Elasticsearch PHP. Mula-mula, anda perlu memperkenalkan fail pemuatan automatik klien Elasticsearch ke dalam kod:
require 'vendor/autoload.php';Kemudian, nyatakan klien Elasticsearch dalam kod:
$client = ElasticsearchClientBuilder::create()->build();Dengan cara ini anda boleh berjaya menyambung ke pelayan Elasticsearch . Soalan 3: Bagaimana untuk mencipta indeks dan pemetaan?
Dalam Elasticsearch, indeks ialah tempat dokumen disimpan dan diambil, dan pemetaan mentakrifkan struktur dokumen. Mula-mula, kita perlu mencipta indeks baharu:
$params = [ 'index' => 'my_index', ]; $response = $client->indices()->create($params);Kemudian, kita boleh menentukan pemetaan untuk indeks. Berikut ialah contoh:
$params = [ 'index' => 'my_index', 'body' => [ 'mappings' => [ 'properties' => [ 'title' => [ 'type' => 'text', ], 'content' => [ 'type' => 'text', ], 'author' => [ 'type' => 'keyword', ], ], ], ], ]; $response = $client->indices()->putMapping($params);Dengan cara ini, indeks dan pemetaan berjaya dibuat. Soalan 4: Bagaimana untuk mengindeks dokumen?
Untuk mengindeks dokumen, kita perlu menentukan dokumen yang akan diindeks dan nama indeks. Berikut ialah contoh:
$params = [ 'index' => 'my_index', 'body' => [ 'title' => 'The Quick Brown Fox', 'content' => 'Lorem ipsum dolor sit amet, consectetur adipiscing elit.', 'author' => 'John Doe', ], ]; $response = $client->index($params);Dengan cara ini, dokumen berjaya diindeks. Soalan 5: Bagaimana untuk melaksanakan pengambilan dokumen asas?
Untuk melaksanakan pengambilan dokumen, kita perlu menentukan kandungan yang hendak diambil dan nama indeks. Berikut ialah contoh:
$params = [ 'index' => 'my_index', 'body' => [ 'query' => [ 'match' => [ 'title' => 'quick brown', ], ], ], ]; $response = $client->search($params);Dengan cara ini, dokumen yang sepadan akan dikembalikan. Kesimpulan
Artikel ini memperkenalkan masalah biasa dalam pengambilan dokumen berdasarkan Elasticsearch dalam PHP dan menyediakan contoh kod khusus. Saya harap jawapan ini membantu pembangun yang menggunakan Elasticsearch untuk mendapatkan semula dokumen.
Atas ialah kandungan terperinci Soalan Lazim tentang pengambilan dokumen dalam PHP berdasarkan Elasticsearch. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!