Cara menggunakan Elasticsearch dalam PHP untuk mencapai kemas kini data tambahan
Elasticsearch ialah enjin carian teragih sumber terbuka yang menyokong carian teks penuh, analisis data masa nyata dan visualisasi data. Ia mempunyai ciri-ciri prestasi tinggi, kebolehpercayaan yang tinggi dan berskala, jadi ia menjadi semakin popular di kalangan pemaju. Dalam pembangunan PHP, kami sering menghadapi keperluan untuk mengemas kini data secara berperingkat dalam Elasticsearch. Artikel ini akan memperkenalkan cara menggunakan PHP dan Elasticsearch untuk melaksanakan kemas kini tambahan data.
1. Pemasangan dan konfigurasi
Sebelum mula menggunakannya, kita perlu memasang perpustakaan klien Elasticsearch terlebih dahulu dalam PHP. Ia boleh dipasang melalui Komposer, laksanakan arahan berikut:
composer require elasticsearch/elasticsearch
Kemudian, kita perlu memperkenalkan perpustakaan klien Elasticsearch ke dalam projek PHP untuk menggunakan API yang disediakannya. Dalam kod, kita perlu menggunakan kod berikut:
require 'vendor/autoload.php'; use ElasticsearchClientBuilder;
Seterusnya, kita perlu mengkonfigurasi maklumat sambungan Elasticsearch. Kami boleh menggunakan kod berikut untuk menulis sekeping maklumat konfigurasi dalam kod:
$hosts = [ [ 'host' => 'localhost', 'port' => '9200', 'scheme' => 'http', ] ]; $clientBuilder = ClientBuilder::create(); $clientBuilder->setHosts($hosts); $client = $clientBuilder->build();
Dalam kod ini, kami mengkonfigurasi maklumat sambungan dengan menetapkan nombor hos dan port Elasticsearch. Jika Elasticsearch anda diakses melalui protokol https, maka anda perlu menukarnya kepada 'scheme' => 'https'
. 'scheme' => 'https'
。
二、数据增量更新
在PHP中使用Elasticsearch实现数据增量更新可以通过以下步骤来完成:
$params = [ 'index' => 'my_index', 'body' => [ 'settings' => [ 'number_of_shards' => 1, 'number_of_replicas' => 0, ], 'mappings' => [ 'my_type' => [ 'properties' => [ 'title' => [ 'type' => 'text', ], 'content' => [ 'type' => 'text', ], ], ], ], ], ]; $response = $client->indices()->create($params);
在这段代码中,我们定义了一个my_index
索引,并创建了一个my_type
类型。该类型包含了title
和content
两个字段,并指定了它们的数据类型为文本类型。
$params = [ 'index' => 'my_index', 'type' => 'my_type', 'body' => [ 'title' => '文章标题', 'content' => '文章内容', ], ]; $response = $client->index($params);
在这段代码中,我们将一篇文章的标题和内容作为一个文档插入到了my_index
索引的my_type
类型中。
$params = [ 'index' => 'my_index', 'type' => 'my_type', 'id' => '1', 'body' => [ 'doc' => [ 'title' => '新的文章标题', ], ], ]; $response = $client->update($params);
在这段代码中,我们通过id
参数指定了要更新的文档的ID,然后使用doc
字段来指定要更新的字段及其新的值。
$params = [ 'index' => 'my_index', 'type' => 'my_type', 'id' => '1', ]; $response = $client->delete($params);
在这段代码中,我们通过id
my_index
dan mencipta my_type
Type . Jenis ini mengandungi dua medan: kandungan
, dan menentukan jenis datanya sebagai jenis teks.
my_index
sebagai dokumen dalam jenis my_type
. 🎜 Id menentukan ID dokumen yang akan dikemas kini, dan kemudian medan <code>doc
digunakan untuk menentukan medan yang akan dikemas kini dan nilai baharunya. 🎜Atas ialah kandungan terperinci Cara menggunakan Elasticsearch untuk melaksanakan kemas kini data tambahan dalam PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!