Lisensi
Keamanan
Elasticsearch adalah mesin pencarian dan analitik terdistribusi, penyimpanan data terukur, dan database vektor yang dioptimalkan untuk kecepatan dan relevansi pada beban kerja skala produksi. Elasticsearch adalah dasar dari platform Stack terbuka Elastic. Telusuri hampir secara real-time pada kumpulan data besar, lakukan penelusuran vektor, integrasi dengan aplikasi AI generatif, dan banyak lagi.
Kasus penggunaan yang diaktifkan oleh Elasticsearch meliputi:
Pengambilan Augmented Generation (RAG)
Pencarian vektor
Pencarian teks lengkap
Log
Metrik
Pemantauan kinerja aplikasi (APM)
Log keamanan
... dan banyak lagi!
Untuk mempelajari lebih lanjut tentang fitur dan kemampuan Elasticsearch, lihat halaman produk kami.
Untuk mengakses informasi tentang inovasi pembelajaran mesin dan kontribusi Lucene terbaru dari Elastic, informasi selengkapnya dapat ditemukan di Search Labs.
Cara termudah untuk menyiapkan Elasticsearch adalah dengan membuat penerapan terkelola dengan Layanan Elasticsearch di Elastic Cloud.
Jika Anda lebih memilih untuk menginstal dan mengelola Elasticsearch sendiri, Anda dapat mengunduh versi terbaru dari elastic.co/downloads/elasticsearch.
Peringatan | JANGAN GUNAKAN PETUNJUK INI UNTUK PENYERAPAN PRODUKSI. Penyiapan ini ditujukan untuk pengembangan dan pengujian lokal saja. |
Siapkan Elasticsearch dan Kibana di Docker dengan cepat untuk pengembangan atau pengujian lokal, menggunakan skrip start-local
.
ℹ️ Untuk informasi lebih detail tentang pengaturan start-local
, lihat README di GitHub.
Jika Anda belum menginstal Docker, unduh dan instal Docker Desktop untuk sistem operasi Anda.
Jika Anda menggunakan Microsoft Windows, instal Subsistem Windows untuk Linux (WSL).
Penyiapan ini dilengkapi dengan lisensi uji coba satu bulan yang mencakup semua fitur Elastic.
Setelah masa uji coba, lisensi kembali ke Gratis dan terbuka - Dasar . Lihat Langganan elastis untuk informasi lebih lanjut.
start-local
Untuk menyiapkan Elasticsearch dan Kibana secara lokal, jalankan skrip start-local
:
curl -fsSL https://elastic.co/start-local | sh
Skrip ini membuat folder elastic-start-local
yang berisi file konfigurasi dan memulai Elasticsearch dan Kibana menggunakan Docker.
Setelah menjalankan skrip, Anda dapat mengakses layanan Elastic di titik akhir berikut:
Pencarian elastis : http://localhost:9200
Kibana : http://localhost:5601
Skrip menghasilkan kata sandi acak untuk pengguna elastic
, yang ditampilkan di akhir instalasi dan disimpan dalam file .env
.
Peringatan | Pengaturan ini hanya untuk pengujian lokal. HTTPS dinonaktifkan, dan otentikasi dasar digunakan untuk Elasticsearch. Demi keamanan, Elasticsearch dan Kibana hanya dapat diakses melalui |
Kunci API untuk Elasticsearch dibuat dan disimpan dalam file .env
sebagai ES_LOCAL_API_KEY
. Gunakan kunci ini untuk terhubung ke Elasticsearch dengan klien bahasa pemrograman atau REST API.
Dari folder elastic-start-local
, periksa koneksi ke Elasticsearch menggunakan curl
:
sumber .env curl $ES_LOCAL_URL -H " Otorisasi: ApiKey ${ES_LOCAL_API_KEY} "
Anda mengirim data dan permintaan lainnya ke Elasticsearch melalui REST API. Anda dapat berinteraksi dengan Elasticsearch menggunakan klien mana pun yang mengirimkan permintaan HTTP, seperti klien bahasa Elasticsearch dan curl.
Berikut ini contoh perintah curl untuk membuat indeks Elasticsearch baru, menggunakan autentikasi dasar:
curl -u elastis: $ELASTIC_PASSWORD -X PUT http://localhost:9200/my-new-index -H ' Tipe Konten: application/json '
Untuk terhubung ke klaster Elasticsearch dev lokal Anda dengan klien bahasa, Anda dapat menggunakan autentikasi dasar dengan nama pengguna elastic
dan kata sandi yang Anda tetapkan di variabel lingkungan.
Anda akan menggunakan detail koneksi berikut:
Titik akhir Elasticsearch : http://localhost:9200
Nama pengguna : elastic
Kata sandi : $ELASTIC_PASSWORD
(Nilai yang Anda tetapkan dalam variabel lingkungan)
Misalnya, untuk terhubung dengan klien elasticsearch
Python:
impor os dari elasticsearch impor Elasticsearch nama pengguna = 'elastis' kata sandi = os . getenv ( 'ELASTIC_PASSWORD' ) # Nilai yang Anda tetapkan dalam variabel lingkungan client = Elasticsearch ( "http://localhost:9200" , basic_auth = ( nama pengguna , kata sandi ) ) print ( client .info ())
Konsol pengembang Kibana menyediakan cara mudah untuk bereksperimen dan menguji permintaan. Untuk mengakses konsol, buka Kibana, lalu buka Manajemen > Alat Pengembang .
Tambahkan data
Anda mengindeks data ke Elasticsearch dengan mengirimkan objek JSON (dokumen) melalui REST API. Baik Anda memiliki teks terstruktur atau tidak terstruktur, data numerik, atau data geospasial, Elasticsearch secara efisien menyimpan dan mengindeksnya dengan cara yang mendukung pencarian cepat.
Untuk data yang diberi stempel waktu seperti log dan metrik, Anda biasanya menambahkan dokumen ke aliran data yang terdiri dari beberapa indeks pendukung yang dibuat secara otomatis.
Untuk menambahkan satu dokumen ke indeks, kirimkan permintaan postingan HTTP yang menargetkan indeks.
POST /pelanggan/_doc/1 { "nama depan": "Jennifer", "nama belakang": "Walters" }
Permintaan ini secara otomatis membuat indeks customer
jika tidak ada, menambahkan dokumen baru yang memiliki ID 1, dan menyimpan serta mengindeks bidang firstname
dan lastname
.
Dokumen baru segera tersedia dari node mana pun di cluster. Anda dapat mengambilnya dengan permintaan GET yang menentukan ID dokumennya:
DAPATKAN /pelanggan/_doc/1
Untuk menambahkan beberapa dokumen dalam satu permintaan, gunakan _bulk
API. Data massal harus berupa JSON yang dibatasi baris baru (NDJSON). Setiap baris harus diakhiri dengan karakter baris baru ( n
), termasuk baris terakhir.
PUT pelanggan/_bulk { "buat": { } } { "nama depan": "Monica","nama belakang":"Rambeau"} { "buat": { } } { "nama depan": "Carol","nama belakang": "Danvers"} { "buat": { } } { "nama depan": "Wanda","nama belakang":"Maximoff"} { "buat": { } } { "nama depan": "Jennifer","nama belakang": "Takeda"}
Mencari
Dokumen yang diindeks tersedia untuk pencarian hampir secara real-time. Pencarian berikut mencocokkan semua pelanggan dengan nama depan Jennifer di indeks customer
.
DAPATKAN pelanggan/_pencarian { "kueri" : { "cocok" : { "nama depan": "Jennifer" } } }
Mengeksplorasi
Anda dapat menggunakan Discover di Kibana untuk mencari dan memfilter data Anda secara interaktif. Dari sana, Anda dapat mulai membuat visualisasi dan membuat serta berbagi dasbor.
Untuk memulai, buat tampilan data yang terhubung ke satu atau beberapa indeks Elasticsearch, aliran data, atau alias indeks.
Buka Manajemen > Manajemen Tumpukan > Kibana > Tampilan Data .
Pilih Buat tampilan data .
Masukkan nama untuk tampilan data dan pola yang cocok dengan satu atau beberapa indeks, seperti customer .
Pilih Simpan tampilan data ke Kibana .
Untuk mulai menjelajah, buka Analytics > Temukan .
Untuk memutakhirkan dari versi Elasticsearch yang lebih lama, lihat dokumentasi pemutakhiran Elasticsearch.
Elasticsearch menggunakan Gradle untuk sistem pembangunannya.
Untuk membangun distribusi untuk OS lokal Anda dan mencetak lokasi keluarannya setelah selesai, jalankan:
./gradlew localDistro
Untuk membangun distribusi untuk platform lain, jalankan perintah terkait:
./gradlew :distribution:archives:linux-tar:assemble ./gradlew :distribution:archives:darwin-tar:assemble ./gradlew :distribution:archives:windows-zip:assemble
Untuk membangun distribusi untuk semua platform yang didukung, jalankan:
./gradlew berkumpul
Distribusi adalah keluaran ke distribution/archives
.
Untuk menjalankan rangkaian pengujian, lihat PENGUJIAN.
Untuk dokumentasi lengkap Elasticsearch, kunjungi elastic.co.
Untuk informasi tentang proses dokumentasi kami, lihat dokumen README.
Repo elasticsearch-labs
berisi notebook Python yang dapat dieksekusi, aplikasi sampel, dan sumber daya untuk menguji Elasticsearch untuk penelusuran vektor, penelusuran hibrid, dan kasus penggunaan AI generatif.
Untuk pedoman kontribusi, lihat KONTRIBUSI.
Untuk melaporkan bug atau meminta fitur, buat Masalah GitHub. Harap pastikan orang lain belum membuat masalah untuk topik yang sama.
Butuh bantuan menggunakan Elasticsearch? Hubungi Elastic Forum atau Slack. Sesama anggota komunitas atau teknisi Elastic akan dengan senang hati membantu Anda.