Mungkin kita sering melakukan pencarian sebuah restoran atau yang lainnya disebuah aplikasi seperti Grab atau Gojek. Tapi, apakah kita pernah mencari tahu sebenernya tools apa yang digunakan untuk melakukan pencarian tersebut? Pada kesempatan kali ini saya ingin memperkenalkan tools pencarian. Tools pencarian ini digunakan oleh salah satu perusahaan. Tools tersebut bernama Elasticsearch. Yuk mari kita bahas sejarah singkat mengenai Elasticsearch.
Sebelum membahas kelahiran Elasticsearch, mari kita mengulas sebuah cerita dari sebuah project open-source. Project open-source tersebut bernama Lucene yang dibuat oleh Doug Cutting pada tahun 1999. Lucene merupakan sebuah search engine library yang di tulis dalam Java. Dimana mumpuni untuk melakukan pencarian full-text, tetapi Lucene tidak mudah untuk di gunakan dan tidak di desain untuk scaling.
“Search is something that any application should have” -Shay Banon.
Mari kita bahas mengenai kelahiran Elasticsearch, pada tahun 2004 Shay Banon mengembangkan sebuah produk bernama Compass yang dibangun berdasarkan Lucene dengan tujuan memiliki pencarian yang terintegrasi dengan aplikasi Java se-sederhana mungkin. Lalu pada tahun 2010 Shay Banon menulis kembali produk Compass dengan tambahan dua tujuan utama yaitu: di desain untuk menjadi scalable dan mudah digunakan untuk berbagai Bahasa pemrograman yang disebut sebagai Elasticsearch.
Elasticsearch menjadi sebuah tools mesin pencarian enterprise yang cukup terkenal akhir-akhir ini. Hal ini ada hubungannya dengan solusi yang ditawarkan oleh Elastic yaitu:
Sebagai Enterprise Search
Solusi pertama yang ditawarkan oleh Elastic adalah sebagai Enterprise Search, dimana kita akan mendapatkan sebuah pengalaman untuk melakukan pencarian modern di aplikasi, situs web dll
Sebagai Observability
Solusi kedua yang ditawarkan oleh Elastic adalah sebagai Observability, dimana kita dapat melakukan sebuah observasi, memonitor dan menganalisa sebuah grafik untuk dijadikan laporan pekerjaan
Sebagai Security
Solusi ketiga yang ditawarkan oleh Elastic adalah sebagai Security, dimana kita akan diberikan kemampuan untuk pendeteksian, pengumpulan, pencegahan, dan respons untuk perlindungan terhadap infrastruktur yang terintegrasi oleh keamanan Endpoint dan SIEM
Berdasarkan tiga solusi diatas yang ditawarkan oleh Elastic, dapat digabungkan menjadi sebuah satu stack yang dapat kita sebut sebagai Elastic Stack. Elastic Stack merupakan kumpulan beberapa produk dengan Elasticsearch sebagai intinya. Komponen Elastic Stack terdiri dari:
- Data Ingest (Beats, Logstash)
- Data Store, Search, Analyze (Elasticsearch)
- Data Visualize, Manage (Kibana)