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
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';
$client = ElasticsearchClientBuilder::create()->build();
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);
$params = [ 'index' => 'my_index', 'body' => [ 'mappings' => [ 'properties' => [ 'title' => [ 'type' => 'text', ], 'content' => [ 'type' => 'text', ], 'author' => [ 'type' => 'keyword', ], ], ], ], ]; $response = $client->indices()->putMapping($params);
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);
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);
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!