Lanjut ke konten

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:

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