Elasticsearch adalah mesin pencari siap produksi yang kuat yang ditulis dalam Java. Ini dapat digunakan sebagai mesin pencari mandiri untuk web atau sebagai mesin pencari untuk aplikasi web e-niaga.
eBay, Facebook, dan Netflix adalah beberapa perusahaan yang menggunakan platform ini. Elasticsearch sangat populer karena lebih dari sekedar mesin pencari. Ini juga merupakan mesin analitik yang kuat dan manajemen log dan sistem pengambilan. Bagian terbaiknya adalah Open Source dan gratis untuk digunakan. Kibana adalah alat visualisasi yang disediakan oleh elastic.
Dalam tutorial ini, kita akan melalui langkah-langkah penginstalan Elasticsearch diikuti dengan penginstalan Kibana. Kemudian kita akan menggunakan Kibana untuk menyimpan dan mengambil data.
1 Menginstal Java
Karena Elasticsearch ditulis dalam Java, maka Elasticsearch harus diinstal terlebih dahulu. Gunakan perintah di bawah ini untuk menginstal versi open source JRE dan JDK:
sudo apt-get install default-jre
sudo apt-get install default-jdk
Kedua perintah ini akan menginstal open-jre dan open-jdk terbaru di sistem Anda. Saya akan menggunakan Java 8 di sini. Gambar berikut menunjukkan, output yang akan Anda dapatkan ketika Anda tidak menginstal Java dan menjalankan perintah di atas.
2 Instal Elasticsearch
Elasticsearch 5 telah dirilis baru-baru ini. Ini memiliki beberapa perubahan besar dibandingkan dengan versi 2.x sebelumnya. Pada saat penulisan artikel ini, versi 5.2.2 adalah rilis terbaru dan kami akan menginstalnya. Jadi ikuti langkah-langkah di bawah ini untuk menginstal.
mkdir elasticsearch; cd elasticsearch
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.2.2.deb
Dengan ini, file .deb akan mulai diunduh. Tampilannya akan seperti gambar di bawah ini:
Setelah unduhan berhasil diselesaikan, kita dapat menginstalnya dengan menjalankan perintah berikut. Output dari instalasi yang berhasil di bawah ini.
sudo dpkg -i elasticsearch-5.2.2.deb
3 Konfigurasi dan Jalankan Elasticsearch
Elasticsearch berjalan sebagai proses latar belakang. Tetapi sebelum kita memulainya, kita harus mengedit file konfigurasi untuk menambahkan sistem saat ini sebagai host yang menjalankan mesin. gunakan perintah berikut untuk membuka file konfigurasi:
sudo gedit /etc/elasticsearch/elasticsearch.yml
Setelah editor terbuka, Anda harus menghapus komentar pada baris:
#network.host: 192.168.0.1
lalu ubah IP menjadi localhost seperti pada gambar di bawah ini:
Sekarang, kita siap untuk menjalankan prosesnya. Gunakan perintah berikut:
sudo systemctl daemon-reload
sudo systemctl enable elasticsearch
sudo systemctl restart elasticsearch
Ketiga perintah ini menambahkan proses Elasticsearch ke daemon sistem sehingga proses tersebut akan dimulai secara otomatis saat sistem Anda melakukan booting dan kemudian memulai ulang proses itu sendiri. Untuk menguji apakah sistem aktif dan berjalan, gunakan perintah berikut. Outputnya harus mirip dengan gambar yang ditunjukkan di bawah ini.
curl -XGET "http://localhost:9200"
4 Instal Kibana
Unduh dan instal file deb menggunakan perintah berikut:
wget https://artifacts.elastic.co/downloads/kibana/kibana-5.2.2-amd64.deb
sudo dpkg -i kibana-5.2.2-amd64.deb
saat menjalankan perintah kedua, jika meminta Anda untuk mengubah file konfigurasi Kibana yang ada, Anda dapat menekan enter untuk mempertahankan default dan menyelesaikan kompetisi. Setelah terinstal, tampilannya akan seperti gambar di bawah ini.
5 Konfigurasi dan Jalankan Kibana
di file konfigurasi Kibana, batalkan komentar pada baris berikut:
server.port:
server.host:
server.name:
elasticsearch.name:
kibana.index:
Gunakan perintah berikut untuk membuka file konfigurasi. File setelah Anda melakukan perubahan akan terlihat seperti gambar di bawah ini:
sudo gedit /etc/kibana/kibana.yml
"server.name" bisa apa saja, jadi jangan ragu untuk mengubahnya. Setelah perubahan ini dibuat, simpan dan tutup file. Hal terakhir yang harus dilakukan adalah menambahkan proses Kibana ke daftar proses sistem sehingga proses tersebut dimulai secara otomatis setiap kali sistem melakukan booting. Jalankan perintah berikut:
sudo systemctl daemon-reload
sudo systemctl enable kibana
sudo systemctl start kibana
Setelah perintah ini dijalankan, Anda dapat membuka browser web dan menggunakan URL berikut untuk menguji apakah sudah diinstal dengan benar. Gambar di bawah menunjukkan tampilannya:
http://localhost:5601
Itu dia. Anda sekarang telah berhasil menginstal Kibana dan Elasticsearch.
6 Penggunaan Dasar
Kita dapat menggunakan utilitas "Dev Tools" yang disediakan oleh Kibana untuk berbicara dengan Elasticsearch. Ini menyediakan antarmuka yang bersih dan sederhana untuk menjalankan perintah sebagai objek JSON. Kami akan berinteraksi dengan mesin inti melalui antarmuka REST.
Buka "Alat Pengembang" dengan mengklik ikon di Panel kiri. Anda juga dapat menggunakan URL berikut:
http://localhost:5601/app/kibana#/dev_tools/
Setelah dimuat, Anda akan mendapatkan pengantar "Selamat Datang di Konsol" ke UI. Anda dapat membacanya atau cukup mengeklik "Mulai Bekerja " Tombol di bagian bawah intro itu. Setelah Anda mengklik tombol itu, UI akan terlihat seperti gambar di bawah ini:
Di sisi kiri kita akan mengetik perintah dan di panel sisi kanan kita akan mendapatkan output. Mari kita coba mengirim dan menyimpan beberapa data ke mesin pencari.
6.1 Membuat Indeks
Data disimpan dalam indeks. Untuk membuat indeks, kita menggunakan perintah PUT. Permintaan JSON akan berisi nama indeks dan beberapa pengaturan opsional yang dapat kami berikan. Perintah berikut adalah contoh untuk membuat indeks yang disebut "siswa".
PUT student
{
"settings": {
"number_of_shards": 3
}
}
Anda dapat mengetik ini di "Dev Tools" dan tekan tombol play hijau di sampingnya untuk menjalankannya. Outputnya akan mirip dengan gambar di bawah ini:
6.2 Masukkan beberapa data ke indeks
Kami akan menggunakan panggilan POST untuk memasukkan data ke index. Data yang akan dimasukkan dalam bentuk JSON jadi mari kita tambahkan siswa ke indeks. Perintahnya adalah :
POST student/course
{
"name":"james",
"course": "mathematics"
}
Dalam perintah di atas, "kursus" menunjukkan jenis data yang sedang diindeks. Dari tanggapannya, Anda dapat melihat bahwa entri ini juga memiliki id unik. Pada perintah di bawah ini, Anda dapat melihat bahwa ada parameter lain setelah "kursus", ini adalah bagaimana Anda dapat menentukan apa id untuk entri siswa ini. Dengan cara ini, elasticsearch tidak akan repot membuat ID tetapi menggunakan ini sebagai ID record ini.
POST student/course/2
{
"name":"tina",
"course": "physics"
}
Berikut adalah gambar yang menunjukkan respon dari mesin pencari saat kedua perintah dijalankan:
6.3 Ambil data dari Indeks
Anda juga dapat mengambil data dari berbagai bidang dari catatan atau entri yang disimpan. Setiap entri yang kita simpan di langkah sebelumnya disebut dokumen di Elasticsearch. Kami akan menggunakan panggilan GET untuk mengambil dokumen dari indeks. Berikut adalah bagaimana Anda dapat mengambil satu dokumen menggunakan bidang "nama":
GET student/course/_search
{
"query": {
"term": {
"name": {
"value": "james"
}
}
}
}
Perintah ini mencari "siswa " indeks untuk dokumen jenis "kursus " dan mencoba mencocokkan istilah dengan nama bidang "nama " yang memiliki nilai "James ". Karena ada siswa bernama James di indeks, kami mendapatkan respons seperti yang ditunjukkan pada gambar di bawah ini:
Ini hanya dasar-dasar, Ada banyak hal yang dapat dilakukan dengan Elasticsearch dan banyak eksplorasi diperlukan untuk menguasai kerangka kerja ini dan menggunakannya sebaik mungkin.