Konfigurasi dan Penggunaan Mesin Pencari Typesense di ServBay
Typesense adalah mesin pencari open-source yang ringan dan sangat cepat yang dirancang untuk memberikan pengalaman pencarian “search-as-you-type” (menampilkan hasil saat mengetik) dengan latensi rendah. Typesense sering digunakan sebagai alternatif ringan bagi Algolia atau Elasticsearch. Melalui ServBay, Anda dapat dengan mudah mendepoloy dan mengelola instance Typesense bertenaga penuh di lingkungan macOS lokal Anda untuk menambahkan fitur pencarian yang canggih pada aplikasi Anda.
Ringkasan
ServBay sangat memudahkan proses instalasi dan konfigurasi Typesense. Pengembang tidak perlu repot dengan perintah terminal yang rumit; semua pengaturan dapat dilakukan melalui antarmuka grafis ServBay, dan layanan pencarian lokal siap pakai langsung tersedia.
Untuk meningkatkan pengalaman pengembangan, ServBay secara otomatis mengonfigurasi endpoint API HTTPS yang aman dan mudah diakses untuk instance Typesense Anda: https://typesense.servbay.host/
. Ini berarti Anda tidak perlu memikirkan pemetaan port atau pengelolaan sertifikat SSL—cukup gunakan domain ini di aplikasi Anda untuk panggilan API.
Persyaratan
- ServBay telah terinstal dan berjalan di macOS Anda.
- Anda sedang mengembangkan proyek yang membutuhkan integrasi fitur pencarian.
- Anda memahami konsep dasar mesin pencari (seperti Collection/Indeks, Dokument, API Key).
Langkah-Langkah
1. Instal Paket Typesense
Pertama, Anda perlu menginstal paket Typesense di ServBay:
- Buka aplikasi ServBay.
- Dari bilah navigasi kiri, klik Paket (Packages).
- Temukan
Pencarian
-Typesense
di daftar paket. - Klik tombol instal di sebelah kanan
Typesense
dan tunggu hingga proses selesai. - Aktifkan layanan
Typesense
dengan menekan tombol di sebelah kanan.
2. Konfigurasi Layanan Typesense
Setelah instalasi, lakukan konfigurasi dasar pada Typesense:
Pada bilah navigasi kiri ServBay, klik Search.
Pilih Typesense pada menu dropdown untuk masuk ke halaman konfigurasi.
Anda akan melihat beberapa opsi konfigurasi berikut—silakan sesuaikan sesuai kebutuhan atau biarkan default:
- Bind IP (IP Bind): Alamat IP yang digunakan Typesense untuk listening. Default
127.0.0.1
memastikan layanan hanya dapat diakses dari komputer lokal—ini adalah pengaturan paling aman untuk lingkungan pengembangan. - Port (Port): Port komunikasi API Typesense di tingkat rendah. Default-nya
8108
. Walaupun layanan berjalan di port ini, sangat disarankan agar Anda mengakses melalui domainhttps://typesense.servbay.host
yang disediakan oleh ServBay. - API Key: Kunci untuk mengautentikasi semua permintaan API. Ini kunci utama untuk keamanan data pencarian Anda. Pastikan menggunakan kunci yang kuat dan unik, serta simpanlah dengan baik.
- Data Path (Path Data): Lokasi penyimpanan data indeks dan konfigurasi Typesense di komputer lokal. Default-nya
/Applications/ServBay/data/typesense
. Anda dapat klik ikon folder di sebelah kanan untuk langsung membuka lokasi ini di Finder.
- Bind IP (IP Bind): Alamat IP yang digunakan Typesense untuk listening. Default
3. Simpan Konfigurasi & Mulai Layanan
- Setelah selesai mengatur konfigurasi, klik tombol Simpan (Save) di kanan bawah.
- Selanjutnya, buka daftar Paket (Packages), temukan
Typesense
, lalu nyalakan layanan dengan tombol di sebelah kanan. - Bila konfigurasi benar, indikator status layanan akan berubah menjadi hijau—menandakan Typesense berhasil berjalan.
4. Integrasi Typesense ke Dalam Aplikasi Anda
Aplikasi Anda (seperti JavaScript, PHP, Python, Go, dll) dapat menghubungkan ke instance Typesense di ServBay menggunakan library resmi atau komunitas yang tersedia untuk Typesense.
Saat menghubungkan, gunakan informasi endpoint eksklusif dari ServBay berikut:
- Host/Node:
typesense.servbay.host
- Port:
443
(port standar HTTPS) - Protocol:
https
- API Key: API Key yang Anda setel di langkah 2
Contoh Kode JavaScript (Pakai Client typesense-js
)
Mulai dengan menginstal library Typesense JavaScript di project Anda:
bash
npm install typesense
# atau
yarn add typesense
1
2
3
2
3
Kemudian, inisialisasi client dan lakukan interaksi di kode Anda:
javascript
import Typesense from 'typesense'
// Inisialisasi client Typesense
// Perhatikan kita menggunakan domain eksklusif dan protokol aman dari ServBay
const client = new Typesense.Client({
nodes: [{
host: 'typesense.servbay.host',
port: 443,
protocol: 'https'
}],
apiKey: 'YOUR-SUPER-STRONG-API-KEY', // Ganti dengan API Key yang Anda atur di ServBay
connectionTimeoutSeconds: 2
})
// Contoh: Membuat collection bernama 'books'
const bookSchema = {
name: 'books',
fields: [
{ name: 'title', type: 'string' },
{ name: 'author', type: 'string', facet: true },
{ name: 'publication_year', type: 'int32', facet: true }
],
default_sorting_field: 'publication_year'
}
async function setupTypesense() {
try {
// Membuat collection
await client.collections().create(bookSchema);
console.log("Collection 'books' berhasil dibuat.");
// Menambahkan dokumen buku
const bookDocument = {
'title': 'The Hitchhiker\'s Guide to the Galaxy',
'author': 'Douglas Adams',
'publication_year': 1979
};
await client.collections('books').documents().create(bookDocument);
console.log("Dokumen berhasil ditambahkan.");
// Melakukan pencarian
const searchParameters = {
'q': 'hitchhiker',
'query_by': 'title',
'sort_by': 'publication_year:desc'
};
const searchResults = await client.collections('books').documents().search(searchParameters);
console.log('Hasil Pencarian:', searchResults);
} catch (error) {
console.error('Kesalahan Typesense:', error);
}
}
setupTypesense();
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
FAQ (Pertanyaan Umum)
- T: Saya lupa API Key, bagaimana cara meresetnya?
- J: Reset API Key sangat mudah di ServBay. Cukup buka layar konfigurasi Typesense (
Pencarian
->Typesense
), masukkan kunci baru pada kolomAPI Key
, klik Simpan (Save), lalu restart layanan Typesense.
- J: Reset API Key sangat mudah di ServBay. Cukup buka layar konfigurasi Typesense (
- T: Kenapa layanan Typesense gagal dijalankan?
- J: Mohon cek beberapa hal ini:
- Klik ikon log di kanan atas layar konfigurasi Typesense untuk melihat detail pesan error, biasanya ini memberikan petunjuk langsung atas masalahnya.
- Pastikan port lokal
8108
tidak digunakan aplikasi lain. - Pastikan direktori
Data Path
sudah ada dan ServBay punya izin baca/tulis pada folder tersebut.
- J: Mohon cek beberapa hal ini:
- T: Apakah saya bisa langsung akses API via
http://127.0.0.1:8108
?- J: Bisa, port lokal ini memang tersedia. Namun, sangat disarankan menggunakan
https://typesense.servbay.host/
agar komunikasi terenkripsi HTTPS, sesuai standar produksi, dan jauh lebih aman.
- J: Bisa, port lokal ini memang tersedia. Namun, sangat disarankan menggunakan
Ringkasan
ServBay mengintegrasikan mesin pencari Typesense yang kuat secara seamless ke alur kerja pengembangan macOS lokal Anda. Dengan konfigurasi grafis sederhana dan endpoint HTTPS aman yang sudah dipersiapkan, Anda dapat fokus membangun pengalaman pencarian terbaik tanpa khawatir dengan proses setup maupun maintenance lingkungan yang rumit.