Rumah >pembangunan bahagian belakang >tutorial php >Gunakan PHP untuk mengendalikan pangkalan data Elasticsearch

Gunakan PHP untuk mengendalikan pangkalan data Elasticsearch

王林
王林asal
2023-05-17 08:39:051478semak imbas

Dengan kemunculan era data besar, banyak syarikat telah mula memilih untuk menggunakan pangkalan data Elasticsearch untuk menyimpan dan mengindeks data besar-besaran. PHP ialah bahasa pembangunan web yang digunakan secara meluas, jadi adalah berguna untuk memahami cara menggunakan PHP untuk mengendalikan pangkalan data Elasticsearch.

  1. Pasang sambungan Elasticsearch dan PHP

Mula-mula, anda perlu memasang sambungan Elasticsearch dan PHP pada pelayan. Pemasangan Elasticsearch boleh diselesaikan melalui arahan berikut (mengambil Ubuntu sebagai contoh):

sudo apt-get update
sudo apt-get install elasticsearch

manakala sambungan PHP boleh dipasang melalui PECL:

sudo pecl install elasticsearch
  1. Mewujudkan sambungan

Sebelum menggunakan PHP untuk mengendalikan pangkalan data Elasticsearch, anda perlu membuat sambungan terlebih dahulu. Ini boleh dicapai melalui kod berikut:

$params = [
    'hosts' => ['localhost:9200']
];

$client = ElasticsearchClientBuilder::create()->setHosts($params['hosts'])->build();
  1. Buat indeks

Arahan untuk mencipta indeks adalah seperti berikut:

$params = [
    'index' => 'my_index',
    'body' => [
        'settings' => [
            'number_of_shards' => 2,
            'number_of_replicas' => 0
        ]
    ]
];

$response = $client->indices()->create($params);

Dalam contoh ini , kami mencipta indeks bernama Indeks "my_index" dengan dua serpihan dan sifar replika disediakan.

  1. Memasukkan data

Berikut ialah contoh kod untuk memasukkan data ke dalam indeks:

$params = [
    'index' => 'my_index',
    'type' => 'my_type',
    'id' => '1',
    'body' => [
        'title' => 'The quick brown fox',
        'content' => 'Lorem ipsum dolor sit amet, consectetur adipiscing elit.'
    ]
];

$response = $client->index($params);

Dalam contoh ini, kami sedang memasukkan data ke dalam indeks bernama "my_index "Dokumen jenis "my_type" memasukkan tajuk dan data badan.

  1. Data pertanyaan

Berikut ialah contoh kod untuk pertanyaan data daripada indeks:

$params = [
    'index' => 'my_index',
    'type' => 'my_type',
    'body' => [
        'query' => [
            'match' => [
                'title' => 'quick brown'
            ]
        ]
    ]
];

$response = $client->search($params);

Dalam contoh ini, kami menggunakan "perang cepat " syarat untuk Menyoal semua dokumen jenis "jenis_saya" yang nama indeksnya ialah "indeks_saya" dan mengembalikan hasil yang mengandungi medan "tajuk".

  1. Kemas kini data

Berikut ialah contoh kod untuk mengemas kini data:

$params = [
    'index' => 'my_index',
    'type' => 'my_type',
    'id' => '1',
    'body' => [
        'doc' => [
            'content' => 'Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.'
        ]
    ]
];

$response = $client->update($params);

Dalam contoh ini, kami menukar "kandungan" dokumen dengan medan ID 1 ” dikemas kini kepada “Sed do eiusmod…”.

  1. Memadam data

Berikut ialah contoh kod untuk memadam data:

$params = [
    'index' => 'my_index',
    'type' => 'my_type',
    'id' => '1'
];

$response = $client->delete($params);

Dalam contoh ini, kami telah memadamkan dokumen dengan ID 1.

Ringkasan

Apabila menggunakan PHP untuk mengendalikan pangkalan data Elasticsearch, anda perlu memberi perhatian kepada perkara berikut:

  • Anda perlu memasang sambungan Elasticsearch dan PHP terlebih dahulu .
  • Selepas membuat sambungan, anda boleh menggunakan pelbagai fungsi Elasticsearch, termasuk mencipta indeks, memasukkan data, menanya data, mengemas kini data dan memadam data.
  • Biasa dengan parameter dan format operasi yang berbeza.

Menggunakan PHP untuk mengendalikan pangkalan data Elasticsearch membolehkan kami mengurus dan mendapatkan sejumlah besar data dengan lebih cekap, sekali gus meningkatkan nilai data perusahaan.

Atas ialah kandungan terperinci Gunakan PHP untuk mengendalikan pangkalan data Elasticsearch. 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