Cara menggunakan Elasticsearch untuk melaksanakan kemas kini data tambahan dalam PHP

WBOY
Lepaskan: 2023-07-07 16:22:01
asal
1264 orang telah melayarinya

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
Salin selepas log masuk

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;
Salin selepas log masuk

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();
Salin selepas log masuk

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实现数据增量更新可以通过以下步骤来完成:

  1. 首先,我们需要创建一个新的索引(index)来存储我们的数据。可以使用以下代码来创建一个新的索引:
$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);
Salin selepas log masuk

在这段代码中,我们定义了一个my_index索引,并创建了一个my_type类型。该类型包含了titlecontent两个字段,并指定了它们的数据类型为文本类型。

  1. 接下来,我们需要将我们的数据插入到Elasticsearch中。可以使用以下代码将数据插入到索引中:
$params = [
    'index' => 'my_index',
    'type' => 'my_type',
    'body' => [
        'title' => '文章标题',
        'content' => '文章内容',
    ],
];

$response = $client->index($params);
Salin selepas log masuk

在这段代码中,我们将一篇文章的标题和内容作为一个文档插入到了my_index索引的my_type类型中。

  1. 如果我们需要对已有的文档进行更新操作,可以使用以下代码:
$params = [
    'index' => 'my_index',
    'type' => 'my_type',
    'id' => '1',
    'body' => [
        'doc' => [
            'title' => '新的文章标题',
        ],
    ],
];

$response = $client->update($params);
Salin selepas log masuk

在这段代码中,我们通过id参数指定了要更新的文档的ID,然后使用doc字段来指定要更新的字段及其新的值。

  1. 最后,如果我们需要删除索引中的某个文档,可以使用以下代码:
$params = [
    'index' => 'my_index',
    'type' => 'my_type',
    'id' => '1',
];

$response = $client->delete($params);
Salin selepas log masuk

在这段代码中,我们通过id

2. Kemas kini data tambahan

Menggunakan Elasticsearch dalam PHP untuk melaksanakan kemas kini data tambahan boleh diselesaikan melalui langkah berikut:

  1. Pertama, kita perlu mencipta indeks (indeks) baharu untuk menyimpan data kita. Anda boleh menggunakan kod berikut untuk mencipta indeks baharu:
rrreeeDalam kod ini, kami mentakrifkan indeks my_index dan mencipta my_typeType . Jenis ini mengandungi dua medan: tajuk dan kandungan, dan menentukan jenis datanya sebagai jenis teks.

  1. Seterusnya, kami perlu memasukkan data kami ke dalam Elasticsearch. Data boleh dimasukkan ke dalam indeks menggunakan kod berikut:
rrreeeDalam kod ini, kami memasukkan tajuk dan kandungan artikel ke dalam indeks my_index sebagai dokumen dalam jenis my_type. 🎜
  1. Jika kami perlu mengemas kini dokumen sedia ada, kami boleh menggunakan kod berikut:
rrreee🎜Dalam kod ini, kami menghantar Id menentukan ID dokumen yang akan dikemas kini, dan kemudian medan <code>doc digunakan untuk menentukan medan yang akan dikemas kini dan nilai baharunya. 🎜
  1. Akhir sekali, jika kita perlu memadamkan dokumen dalam indeks, kita boleh menggunakan kod berikut:
rrreee🎜Dalam kod ini, kita menghantar id menentukan ID dokumen yang hendak dipadamkan. 🎜🎜3. Ringkasan🎜🎜Melalui langkah di atas, kita boleh menggunakan Elasticsearch dalam PHP untuk mencapai kemas kini data secara berperingkat. Pertama, kita perlu menyambung ke Elasticsearch dan mengkonfigurasi maklumat yang berkaitan kemudian, kita boleh membuat indeks dan memasukkan data akhirnya, kita boleh mengemas kini dan memadam dokumen sedia ada; Dengan menggunakan perpustakaan klien Elasticsearch, kami boleh mengendalikan Elasticsearch dalam PHP dengan mudah dan mencapai kemas kini data tambahan. 🎜🎜Di atas ialah pengenalan artikel ini kepada kaedah menggunakan PHP dan Elasticsearch untuk mencapai kemas kini data tambahan. Harap ini membantu! 🎜

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!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!