Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Kaedah sandaran dan pemulihan data masa nyata menggunakan Elasticsearch dalam PHP

Kaedah sandaran dan pemulihan data masa nyata menggunakan Elasticsearch dalam PHP

王林
王林asal
2023-07-08 10:30:151401semak imbas

Kaedah sandaran dan pemulihan data masa nyata menggunakan Elasticsearch dalam PHP

1. Latar Belakang
Dengan perkembangan pesat aplikasi Internet, sandaran masa nyata dan pemulihan data adalah sangat penting untuk memastikan kebolehpercayaan dan ketahanan sistem. Sebagai bahasa skrip yang digunakan secara meluas dalam pembangunan web, PHP menggunakan Elasticsearch sebagai penyimpanan data dan enjin carian Digabungkan dengan fungsi yang disediakan oleh PHP, kami boleh melaksanakan kaedah sandaran dan pemulihan data masa nyata yang mudah dan cekap.

2. Pengenalan kepada Elasticsearch
Elasticsearch ialah enjin carian dan analisis teragih sumber terbuka dengan kebolehskalaan tinggi dan toleransi kesalahan, serta boleh menyimpan, mencari dan menganalisis sejumlah besar data masa nyata. Ia menggunakan teknologi indeks terbalik berasaskan Lucene untuk mencapai carian teks penuh dan pengagregatan data yang pantas.

3. Sandarkan data ke Elasticsearch

  1. Pasang dan mulakan Elasticsearch
    Pertama, kita perlu memasang dan memulakan Elasticsearch pada pelayan. Anda boleh melawati tapak web rasmi Elasticsearch (https://www.elastic.co/cn/elasticsearch/) untuk memuat turun pakej pemasangan yang sepadan, dan pasang serta mulakannya mengikut dokumentasi rasmi.
  2. Pasang sambungan PHP untuk Elasticsearch
    Elasticsearch menyediakan perpustakaan pelanggan untuk berinteraksi dengan pelbagai bahasa pengaturcaraan. Dalam PHP, kami boleh menggunakan pelanggan Elasticsearch PHP yang disediakan secara rasmi (https://www.elastic.co/guide/en/elasticsearch/client/php-api/current/index.html). Pustaka pelanggan ini boleh dipasang menggunakan alat Komposer:
composer require elasticsearch/elasticsearch
  1. Sambung ke Elasticsearch
    Gunakan kod berikut untuk menyambung ke Elasticsearch dan dapatkan contoh Elasticsearch:
require 'vendor/autoload.php';

$client = ElasticsearchClientBuilder::create()->build();
  1. Cipta indeks dan pemetaan
    Sebelum kami perlu memasukkan data pertama Buat indeks dan tentukan pemetaan data. Kod contoh berikut mencipta indeks bernama "my_index" dan mentakrifkan jenis dokumen bernama "my_type":
$params = [
    'index' => 'my_index',
    'body' => [
        'mappings' => [
            'my_type' => [
                'properties' => [
                    'title' => ['type' => 'text'],
                    'content' => ['type' => 'text'],
                    'timestamp' => ['type' => 'date']
                ]
            ]
        ]
    ]
];

$response = $client->indices()->create($params);
  1. Memasukkan data
    Gunakan kod berikut untuk memasukkan data ke dalam Elasticsearch:
$params = [
    'index' => 'my_index',
    'type' => 'my_type',
    'body' => [
        'title' => 'Example Title',
        'content' => 'Example Content',
        'timestamp' => time()
    ]
];

$response = $client->index($params);
  1. Gunakan data berikut
    kod untuk pertanyaan data:
$params = [
    'index' => 'my_index',
    'type' => 'my_type',
    'body' => [
        'query' => [
            'match' => [
                'title' => 'Example'
            ]
        ]
    ]
];

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

Di atas adalah keseluruhan proses menyandarkan data ke Elasticsearch, yang boleh diubah suai dan dikembangkan mengikut keperluan sebenar.

4 Pulihkan data daripada Elasticsearch
Jika data hilang atau dipadam secara tidak sengaja dalam Elasticsearch, kami boleh memulihkannya berdasarkan data yang disandarkan. Begini cara untuk memulihkan data anda:

  1. Soal data yang disandarkan
    Soal data yang disandarkan menggunakan kod berikut:
$params = [
    'index' => 'my_backup_index',
    'type' => 'my_type',
    'body' => [
        'query' => [
            'match' => [
                'title' => 'Example'
            ]
        ]
    ]
];

$response = $client->search($params);
  1. Masukkan semula data sandaran ke dalam Elasticsearch
    Masukkan semula data sandaran berikut ke dalam kod Elasticsearch :
foreach ($response['hits']['hits'] as $hit) {
    $params = [
        'index' => 'my_index',
        'type' => 'my_type',
        'id' => $hit['_id'],
        'body' => $hit['_source']
    ];

    $client->index($params);
}

Melalui langkah di atas, kami boleh memasukkan semula data yang disandarkan ke dalam Elasticsearch untuk mencapai pemulihan data.

5. Kesimpulan
Melalui gabungan PHP dan Elasticsearch, kami boleh melaksanakan kaedah sandaran dan pemulihan data masa nyata yang mudah dan cekap. Dengan menyandarkan data kepada Elasticsearch, keselamatan dan kebolehpercayaan data dapat dipastikan Pada masa yang sama, menggunakan fungsi pertanyaan dan analisis yang berkuasa Elasticsearch, perolehan semula dan analisis data boleh dicapai dengan mudah.

Atas ialah kandungan terperinci Kaedah sandaran dan pemulihan data masa nyata menggunakan Elasticsearch dalam 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