Salah satu fitur desain unik dari Elasticsearch adalah, tidak seperti kebanyakan sistem atau database tradisional, semua tugas seperti menghubungkan dan memanipulasi Elasticsearch dilakukan menggunakan REST API
, artinya hampir setiap kueri atau perintah yang dijalankan pada simpul Elasticsearch Anda adalah permintaan HTTP sederhana ke URL tertentu.
Tergantung pada HTTP verb
dikirim dan URL tujuan pengirimannya, Elasticsearch dapat melakukan berbagai macam tindakan pada node atau bahkan cluster.
Struktur URL API REST Elasticsearch
Pada tingkat paling dasar, untuk menjalankan perintah di Elasticsearch, Anda harus mengirim kata kerja HTTP ke URL node Elasticsearch Anda. Untuk pengembangan, biasanya ini adalah localhost:9200
.
Di sebagian besar kasus, metode paling sederhana untuk mengirim permintaan ke REST API dari Elasticsearch adalah melalui alat baris perintah yang berguna, cURL
, yang merupakan alat sederhana yang digunakan untuk mentransfer hampir semua jenis data Internet.
Misalnya, untuk membuat daftar semua indices
, Anda dapat menjalankan curl
berikut ini perintah dari prompt shell server pengembangan Anda (seperti yang ditunjukkan dalam dokumentasi resmi:
$ curl 'localhost:9200/_cat/indices?v'
health index pri rep docs.count docs.deleted bookstore.size pri.bookstore.size
Di sini kami mengakses cat API
(ditunjukkan dengan _
leading di depan garis bawah) dan melihat indices
, yang menunjukkan penampang setiap indeks dalam cluster.
Indeks, Jenis, Dokumen, dan Properti
Dengan contoh di tempat, kita dapat menjelajahi lebih detail struktur spesifik dari Elasticsearch REST API, yang paling sering terdiri dari tiga komponen terstruktur, index
, type
, dan document
:
localhost:9200/index/type/document
indices
adalah struktur induk dan paling sederhana dianggap sebagai database
yang menampung banyak type
. Dan indices
dapat mewakili konsep apa pun, tetapi sering kali akan mewakili keseluruhan sistem komponen seperti shop
atau bookstore
.
Types
terkandung dalam indices
dan mirip dengan tables
database , dengan setiap type
mewakili kumpulan objek serupa (seperti shirt
atau book
).
Terakhir, document
adalah satu contoh atau representasi dari objek type
induknya . Jadi, buku “The Hobbit” mungkin ada sebagai buku type
di indices
bernama toko buku .
Menghapus Data dari Elasticsearch
Dengan tidak menggunakan sintaks REST API dasar, kita dapat mempelajari cara melakukan tindakan tertentu seperti menghapus data.
Hapus Satu Dokumen
Mengambil sintaks dasar kita seperti yang terlihat di atas, kita perlu menggunakan curl
dan kirim DELETE
Kata kerja HTTP, menggunakan -XDELETE
pilihan:
$ curl -XDELETE 'localhost:9200/index/type/document'
Misalnya, untuk menghapus document
buku kami yang disebutkan di atas , kita dapat menggunakan perintah berikut:
$ curl -XDELETE 'localhost:9200/bookstore/book/1'
Ini akan menghapus document
dengan ID
dari 1
dari book
type
yang ada di dalam bookstore
indices
.
Hapus Jenis
Seperti yang Anda duga, dengan sintaks yang hanya sedikit melebar, kami dapat menghapus seluruh type
. Di sini kami menghapus book
type
:
$ curl -XDELETE 'localhost:9200/bookstore/book'
Hapus Indeks
Terakhir, jika kita ingin menghapus seluruh indices
, ini dapat dilakukan dengan menggunakan sintaks yang sama seperti sebelumnya:
$ curl -XDELETE 'localhost:9200/bookstore'