Rumah >pembangunan bahagian belakang >tutorial php >Apakah operasi Elasticsearch biasa dalam pengaturcaraan PHP?

Apakah operasi Elasticsearch biasa dalam pengaturcaraan PHP?

PHPz
PHPzasal
2023-06-12 09:45:181576semak imbas

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.

  1. Data indeks

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".

  1. Data carian

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.

  1. Penggabungan data

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".

  1. Kemas kini data

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".

  1. Padam data

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn