Elasticsearch adalah distributed search and analytics engine yang dioptimalkan untuk full-text search, analitik log, dan observability. Kalau kamu pernah bikin fitur pencarian yang bisa nemu dokumen meski keyword-nya salah eja, kemungkinan besar ada Elasticsearch di belakangnya.
Elasticsearch adalah distributed search and analytics engine open-source yang dibangun di atas Apache Lucene. Dikembangkan oleh Shay Banon dan dirilis pertama kali tahun 2010, Elasticsearch jadi fondasi dari Elastic Stack - yang dulu sering disebut ELK Stack (Elasticsearch, Logstash, Kibana).
Elasticsearch menyimpan data sebagai dokumen JSON dalam indices (tunggal: index) - mirip collection di MongoDB. Tapi yang bikin Elasticsearch benar-benar beda adalah engine indexing-nya yang sangat powerful untuk pencarian teks dan analitik real-time.
Ketika kamu insert dokumen ke Elasticsearch, engine langsung melakukan proses indexing secara otomatis:
Dengan inverted index, Elasticsearch bisa menemukan semua dokumen yang mengandung kata tertentu dalam hitungan milidetik - bahkan di dataset dengan miliaran dokumen.
| Kemampuan | Elasticsearch | PostgreSQL Full-Text | MySQL Full-Text |
|---|---|---|---|
| Relevance scoring | Sangat canggih (BM25) | Terbatas | Terbatas |
| Fuzzy search (salah eja) | Native | Butuh extension | Tidak ada |
| Sinonim dan analisis bahasa | Built-in, bisa custom | Terbatas | Sangat terbatas |
| Faceted search dan agregasi | Sangat kuat | Butuh query kompleks | Butuh query kompleks |
| Horizontal scaling | Built-in | Butuh setup tambahan | Butuh setup tambahan |
| ACID transactions | Tidak ada | Penuh | Penuh |
| Relasi data (JOIN) | Tidak (denormalized) | Ya | Ya |
| Biaya setup | Lebih kompleks | Sederhana | Sederhana |
1. Search Engine Aplikasi
Fitur pencarian di e-commerce, portal berita, atau aplikasi enterprise yang butuh relevance ranking, autocomplete, typo tolerance, dan filter multi-dimensi. Marketplace besar di Indonesia pakai Elasticsearch untuk search produk mereka - ini yang bikin kamu masih bisa ketemu produk meski nama yang kamu ketik sedikit beda dari nama aslinya.
2. Log Analysis dan Observability
Ini mungkin use case terbesar Elasticsearch sekarang. Dengan Elastic Stack lengkap:
Tim ops dan SRE pakai setup ini untuk debugging masalah di production, monitoring performa sistem, dan analitik keamanan.
3. Business Intelligence Real-Time
Elasticsearch bisa aggregate data dalam jumlah sangat besar dengan sangat cepat - cocok untuk dashboard real-time yang butuh insight instan dari data yang terus bertambah setiap detik.
Shard dan Replica: Elasticsearch memecah setiap index jadi beberapa shard yang didistribusikan ke banyak node. Setiap shard bisa punya replica untuk fault tolerance dan meningkatkan performa baca. Ini yang bikin Elasticsearch bisa scale horizontal hampir tanpa batas teoritis.
Mappings: Definisi tipe data untuk setiap field dalam dokumen - mirip schema di database relasional tapi lebih fleksibel. Elasticsearch juga bisa auto-detect tipe data dengan dynamic mapping, meski untuk production lebih baik definisikan mapping secara eksplisit.
Query DSL: Elasticsearch punya query language berbasis JSON yang sangat ekspresif - dari simple term query sampai kombinasi boolean query kompleks dengan boosting, fuzziness, dan highlighting hasil pencarian.
Refresh Interval: Elasticsearch bersifat near real-time, bukan real-time penuh. Ada jeda kecil (default 1 detik) antara dokumen diinsert dan bisa muncul di hasil pencarian.
Untuk data engineer, Elasticsearch sering muncul di ujung pipeline data sebagai endpoint dari stream processing - hasil analitik real-time disimpan ke Elasticsearch supaya bisa divisualisasikan di Kibana oleh tim bisnis atau operasional. Ini bagian dari arsitektur yang sering disebut Lambda Architecture atau Kappa Architecture.
Ada juga OpenSearch - fork open-source dari Elasticsearch yang dibuat Amazon setelah Elastic mengubah lisensi Elasticsearch dari Apache 2.0 ke SSPL pada 2021. OpenSearch kompatibel dengan Elasticsearch API dan banyak dipakai di managed AWS environment.
Udah paham Elasticsearch? Lanjut latihan SQL dan Excel yuk!
Latihan interaktif, langsung di browser.