PHP ialah bahasa pengaturcaraan yang digunakan secara meluas dalam pembangunan web. Dengan kemunculan era data besar, enjin carian telah menjadi bahagian yang sangat diperlukan dalam laman web yang besar. Elasticsearch ialah enjin carian dan analisis masa nyata teragih moden Ia menyediakan beberapa API yang berkuasa untuk memudahkan pembangun mencari, mengagregat, menganalisis dan operasi lain pada data. Artikel ini akan memperkenalkan beberapa operasi Elasticsearch biasa dalam pengaturcaraan PHP.
Indeks ialah unit asas dalam Elasticsearch, serupa dengan jadual dalam pangkalan data hubungan. Sebelum melakukan operasi carian, kita perlu mengindeks data ke dalam Elasticsearch. Berikut ialah contoh kod untuk mengindeks data dalam PHP:
$client = ElasticsearchClientBuilder::create()->build(); $params = [ 'index' => 'my_index', 'type' => 'my_type', 'id' => 'my_id', 'body' => [ 'title' => 'This is a test document', 'content' => 'Elasticsearch is a highly scalable open-source search engine' ] ]; $response = $client->index($params);
Kod di atas akan menambah dokumen pada indeks bernama "my_index" dengan jenis "my_type" dan ID "my_id". Kandungan dokumen termasuk dua medan: "tajuk" dan "kandungan".
Elasticsearch menyediakan API carian yang kaya untuk memudahkan pembangun memadankan dan membuat pertanyaan data. Berikut ialah contoh kod untuk mencari data dalam PHP:
$client = ElasticsearchClientBuilder::create()->build(); $params = [ 'index' => 'my_index', 'type' => 'my_type', 'body' => [ 'query' => [ 'match' => [ 'title' => 'test' ] ] ] ]; $response = $client->search($params);
Kod di atas akan mencari semua dokumen "my_type" dalam indeks bernama "my_index", di mana medan "title" sepadan dengan dokumen "test" akan dipulangkan.
Elasticsearch menyediakan fungsi pengagregatan berkuasa yang boleh melaksanakan pelbagai operasi pengumpulan, statistik dan pengiraan pada data. Berikut ialah contoh kod untuk mengagregatkan data dalam PHP:
$client = ElasticsearchClientBuilder::create()->build(); $params = [ 'index' => 'my_index', 'type' => 'my_type', 'body' => [ 'aggs' => [ 'avg_content_length' => [ 'avg' => [ 'field' => 'content_length' ] ] ] ] ]; $response = $client->search($params);
Kod di atas akan mencari semua dokumen "my_type" dalam indeks bernama "my_index" dan mengira purata medan "content_length".
Dalam aplikasi praktikal, data selalunya perlu dikemas kini. Berikut ialah contoh kod untuk mengemas kini data dalam PHP:
$client = ElasticsearchClientBuilder::create()->build(); $params = [ 'index' => 'my_index', 'type' => 'my_type', 'id' => 'my_id', 'body' => [ 'doc' => [ 'title' => 'This is a new title' ] ] ]; $response = $client->update($params);
Kod di atas akan mengemas kini medan "title" dokumen dengan ID "my_id" kepada "This is a new title".
Jika data tidak diperlukan lagi, kami boleh memadamkannya daripada Elasticsearch. Berikut ialah contoh kod untuk memadam data dalam PHP:
$client = ElasticsearchClientBuilder::create()->build(); $params = [ 'index' => 'my_index', 'type' => 'my_type', 'id' => 'my_id' ]; $response = $client->delete($params);
Kod di atas akan memadamkan dokumen dengan ID "my_id" daripada indeks bernama "my_index".
Ringkasan
Di atas adalah operasi Elasticsearch biasa dalam pengaturcaraan PHP. Elasticsearch menyediakan API yang kaya, dan pembangun boleh memilih API yang sesuai untuk menyelesaikan operasi yang berkaitan berdasarkan keperluan sebenar. Kecekapan dalam API ini boleh meningkatkan kecekapan carian dan pemprosesan data dengan sangat baik, sekali gus memberikan pengalaman pengguna yang lebih baik untuk pengguna tapak web.
Atas ialah kandungan terperinci Apakah operasi Elasticsearch biasa dalam pengaturcaraan PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!