Dalam pelajaran ini, kami akan menginstal klien Elasticsearch-PP dan Layanan OpenSearch (Elasticsearch 7.10) di AWS Cloud.
Prasyarat
- Anda telah menginstal Elasticsearch 7.10 tentang Layanan OpenSearch dengan Akses Publik (Internet), jadi kami cukup untuk menginstal Elasticsearch-PP-CLIEN
- Menggunakan PHP 8.3.12 untuk Klien Elasticsearch-PP V7.11.0
- Apache Web Server Diinstal
- Ubuntu 24.04
Langkah umum
- Instal komposer di komputer lokal Anda
- Instal Elasticsearch-PP Client v7.11.0
- Hubungkan Tes dengan Elasticsearch 7.10
- Tes buat indeks
- Masukkan data
Mari kita mulai!
Instal komposer di komputer lokal Anda
Ruang kerja saya ada di bawah /var/www/html/elasticsearch-php
Kami membutuhkan komposer untuk menginstal klien Elasticsearch-PP. Instal dengan perintah berikut:
php -r "copy(' 'composer-setup.php');"
php -r "if (hash_file('sha384', 'composer-setup.php') === 'dac665fdc30fdd8ec78b38b9800061b4150413ff2e3b6f88543c636f7cd84f6db9189d43a81e5503cda447da73c7e5b6') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
php composer-setup.php
php -r "unlink('composer-setup.php');"
Setelah memulai perintah pendek, ia membuat file bernama composer.phar. Pada langkah berikutnya kami akan menggunakan Composer.phar untuk menginstal pelanggan di Elasticsearch-PP.
Instal Elasticsearch-PP Client v7.11.0
Kami akan menggunakan klien Elasticsearch-PP V7.11.0 (bukan versi terbaru), karena Elasticsearch kami adalah v7.10.0. Saya khawatir jika saya menggunakan versi terbaru dari klien Elasticsearch-PP, itu tidak akan berfungsi (kompatibilitas kembali) untuk Elasticsearch v7.10.0.
Untuk menginstal klien Elasticsearch-PP v7.11.0, perintahnya adalah sebagai berikut:
php composer.phar require elasticsearch/elasticsearch:7.11.0

Jika Anda berlari ls -alAnda akan melihat vendor Map. Pelanggan Elasticsearch-PP dipasang di dalam folder ini.
Hubungkan Tes dengan Elasticsearch 7.10
Untuk informasi Anda, ini adalah pengaturan Elasticsearch 7.10 saya yang diinstal di Layanan OpenSearch:

Sekarang, mari kita fokus pada pengujian koneksi Elasticsearch 7.10. Buat file bernama index.php di folder Elasticsearch-PP. Kemudian tempatkan skrip ini:
<?php
require 'vendor/autoload.php';
use Elasticsearch\ClientBuilder;
$client = ClientBuilder::create()
->setHosts(['https://search-xxxx-elasticsearch-g44-xxxx.ap-southeast-1.es.amazonaws.com:443'])
->setBasicAuthentication('your elasticsearch username', 'your elasticsearch username')
->build();
$response = $client->info();
echo "<pre>";
var_dump($response);
?>
Penjelasan:
- Ubah Nilai Sethosts dengan titik akhir Domain Elasticsearch Anda IPv4 (lihat di atas gambar)
- Ubah SetBasiCiaTenCication dengan nama pengguna dan kata sandi Elasticsearch Anda (nama pengguna ini, kata sandi yang diterima dari instalasi asli Layanan Elasticsearch / OpenSearch)
Pertunjukan:
Jika hubungannya sukses, maka jalan keluar adalah:

Tes buat indeks
Pada saat itu, kami berhasil menghubungi Elasticsearch v7.10.0.
Kami sekarang akan menguji penciptaan indeks sederhana.
Ubah index.php Anda dan masukkan skrip ini:
<?php
require 'vendor/autoload.php';
use Elasticsearch\ClientBuilder;
$client = ClientBuilder::create()
->setHosts(['
->setBasicAuthentication('your elasticsearch username', 'your elasticsearch username')
->build();
$params = [
"index" => "test-elasticsearch-php"
];
$response = $client->indices()->create($params);
echo "<pre>";
print_r($response);
?>
Lengkap lagi:
Jika Anda berhasil, jawabannya adalah:

Periksa Dasbor Manajemen Kibana (disediakan oleh OpenSearch Service), buka Distro for Elasticsearch> Manajemen Indeks, Anda akan melihat Pemeriksaan Uji-elastis-PPP ada di sana.

Hebat!, Kami berhasil membuat indeks. Sekarang mari kita masukkan data ke langkah berikutnya.
Masukkan data
Ubah index.php Anda dan tempatkan:
<?php
require 'vendor/autoload.php';
use Elasticsearch\ClientBuilder;
$client = ClientBuilder::create()
->setHosts(['
->setBasicAuthentication('your elasticsearch username', 'your elasticsearch username')
->build();
$params = [
"index" => "test-elasticsearch-php",
"id" => "123",
"body" => [
"name" => "Moko",
"address" => "Jl. Greenstreet",
"create_date" => "2024-01-01 12:11:01"
]
];
$response = $client->index($params);
echo "<pre>";
print_r($response);
?>
Pertunjukan:
Berasal:

Jika Anda melihat dasbor kibana, itu disimpan dalam indeks: uji-elasticsearch-pp

Terhubung