Hubungi Elasticsearch (Layanan OpenSearch


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
Instal Pelanggan PHP Elasticsearch

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:

Layanan Elasticsearch di AWS Cloud

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:

Instal Elasticsearch PHP

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:

Instal Elasticsearch PHP

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



Teknologi Terkini

Jasa PBN

Leave a Reply

Your email address will not be published. Required fields are marked *