API yang didukung Elasticsearch
Teks ini diterjemahkan menggunakan AI. Jika Anda ingin melihat teks asli dalam bahasa Inggris, klik di sini.
Kami mengelola indeks Elasticsearch untuk semua pos di WordPress.com dan semua pos yang disinkronkan melalui plugin Jetpack.
Dokumen ini menjelaskan struktur indeks dan API yang tersedia untuk kueri. API ini mendukung fitur yang tersedia di WordPress VIP dan di Paket Profesional Jetpack. API Pos Terkait Jetpack juga menerima filter Elasticsearch.
Ketersediaan API
Ada tiga tingkat ketersediaan:
- WordPress VIP: Kami dapat membuat satu indeks untuk konten Anda (diperlukan biaya penyiapan). Kode untuk membuat indeks bersifat open source. Sering kali, fitur/bidang eksperimental atau hal-hal yang belum dapat kami skalakan ke semua situs akan diimplementasikan di sini terlebih dahulu.
- Paket Profesional Jetpack: Semua situs Jetpack Pro (termasuk semua situs VIP) diindeks ke dalam klaster Elasticsearch global kami dan dapat dikueri dengan panggilan Elasticsearch Query API. Kami tidak mendukung seluruh ES Query DSL, tetapi mendukung sebagian besarnya.
- Paket Gratis Jetpack: Semua situs diindeks untuk mendukung API Pos Terkait. API ini menerima filter Elasticsearch khusus.
Versi Elasticsearch dan Kompatibilitas Mundur
Proyek Elasticsearch berfokus pada peningkatan API secara berkelanjutan sehingga secara berkala memutus kompatibilitas mundur. API kami berupaya mempertahankan kompatibilitas mundur, sehingga ada sejumlah fitur yang kami pilih untuk tidak didukung karena berbagai alasan keamanan atau performa. Misalnya, semua scripting dinonaktifkan di API kami. Kami juga tidak berusaha menggunakan versi Elasticsearch yang paling baru karena kami berkomitmen pada kompatibilitas mundur.
API kueri kami sebagian besar mirip dengan Elasticsearch Search API dari Elasticsearch versi 2.4. Namun, kami menerima beberapa fitur yang sudah tidak digunakan lagi dan melakukan penulisan ulang kueri untuk mempertahankan kompatibilitas. Contoh yang baik adalah saat kami berpindah dari ES 1.x ke 2.x, semua konten harus dimigrasikan dari penyimpanan di bidang “content” dengan beberapa analyzer menjadi penyimpanan di bidang terpisah untuk setiap analyzer bahasa: “content.en”, “content.fr”, “content.default”, dan seterusnya. Kami menulis ulang kueri yang masih menggunakan bidang “content”.
Library yang Ada
Kemungkinan ada saatnya kami harus menghentikan kompatibilitas mundur (semoga hanya dalam hal-hal kecil). Cara terbaik untuk memastikan aplikasi Anda tidak mengalami masalah ini adalah menggunakan salah satu pustaka atau filter yang sudah ada, alih-alih menulis kueri pencarian yang sepenuhnya khusus:
- Jetpack Pos Terkait filter hook dan contoh.
- Jetpack Search filter hook
- Jetpack Search Search Query Builder (lapisan abstraksi)
- Jetpack Search Query Builder (lapisan abstraksi)
- es-wp-query (mengonversi kueri MySQL WP_Query menjadi kueri Elasticsearch). Didukung sepenuhnya di VIP Indices, mungkin berfungsi sebagian di Jetpack Pro tetapi belum diuji.
- es-admin (menjalankan pencarian pos wp-admin dengan ES). Didukung sepenuhnya di indeks VIP, belum diketahui di Jetpack Pro.
Karena kode adalah dokumentasi terbaik, cara pemetaan dan dokumen dibuat untuk indeks kami sebagian besar tersedia di WPES-Lib. Data.blog memiliki deskripsi terbaik tentang cara pengindeksan real-time kami bekerja.
Dokumen
Kami mengindeks semua pos, halaman, dan tipe pos khusus WordPress selama status pos adalah salah satu dari publish, trash, pending, draft, future, atau private. Pos yang tersedia untuk publik dapat dikueri dari API kami tanpa autentikasi. Permintaan terautentikasi akan mengembalikan semua pos. Dalam kasus Jetpack, pos apa pun yang diblokir dari sinkronisasi tidak akan tersedia di indeks kami.
Lihat skema dokumen pos untuk detail tentang semua bidang dalam indeks.
API Pencarian
Ada batasan yang sedikit berbeda pada API, tergantung pada tingkat layanan yang Anda miliki (WordPress VIP, Jetpack Pro, atau Jetpack Pos Terkait). Bergantung pada level layanan, fitur yang berbeda dari Elasticsearch Query DSL tersedia.
Lihat API kueri untuk detail dan batasan kueri, filter, dan agregasi yang tersedia.
* Elasticsearch adalah merek dagang Elasticsearch BV, terdaftar di AS dan di negara lain.
Terakhir diperbarui: Juni 23, 2026