Konfigurasi dan Penggunaan Enjin Carian Typesense dalam ServBay
Typesense ialah enjin carian terbuka, ringan dan sangat pantas yang direka khusus untuk memberikan pengalaman carian berlatensi rendah dan "carian semasa menaip" (search-as-you-type). Ia sering dianggap sebagai alternatif ringan kepada Algolia atau Elasticsearch. Dengan ServBay, anda boleh memasang serta mengurus instans Typesense penuh ciri di macOS secara tempatan dengan mudah, lalu memperkasakan aplikasi anda dengan fungsi carian yang mantap.
Gambaran Umum
ServBay sangat memudahkan proses pemasangan dan konfigurasi Typesense. Pembangun tidak lagi perlu menggunakan baris arahan yang rumit—semua boleh dilakukan menerusi antara muka grafik ServBay, dan anda terus mendapat perkhidmatan carian tempatan yang sedia untuk digunakan.
Bagi meningkatkan kemudahan pembangunan, ServBay secara automatik akan menyediakan titik akhir API HTTPS yang selamat dan mudah dicapai untuk instans Typesense anda: https://typesense.servbay.host/
. Ini bermakna anda tidak perlu risau tentang pemetaan port atau konfigurasi sijil SSL; gunakan sahaja domain ini dalam aplikasi anda untuk memanggil API.
Prasyarat
- Sistem macOS anda telah berjaya dipasang dan berjalan ServBay.
- Anda sedang membangunkan projek yang memerlukan integrasi fungsi carian.
- Anda memahami konsep asas enjin carian (seperti Koleksi/Indeks [Collection], Dokumen [Document], Kunci API [API Key]).
Langkah-langkah Operasi
1. Pasang Pakej Typesense
Mula-mula, anda perlu memasang pakej Typesense dalam ServBay:
- Buka aplikasi ServBay.
- Pada bar navigasi sebelah kiri, klik Pakej (Packages).
- Dalam senarai pakej, cari
Carian
-Typesense
. - Klik butang pemasangan di sebelah kanan
Typesense
, dan tunggu sehingga pemasangan selesai. - Klik butang di sebelah kanan untuk mengaktifkan perkhidmatan
Typesense
.
2. Konfigurasi Perkhidmatan Typesense
Setelah pemasangan selesai, lakukan konfigurasi asas Typesense:
Pada bar navigasi kiri ServBay, klik Search.
Pilih Typesense dari menu jatuh bawah untuk masuk ke halaman konfigurasi.
Anda akan nampak konfigurasi berikut yang boleh disesuaikan mengikut keperluan atau dibiarkan pada nilai lalai:
- Bind IP (IP Terikat): Alamat IP yang didengar oleh perkhidmatan Typesense. Nilai lalai
127.0.0.1
memastikan hanya asalan tempatan dapat mengakses—konfigurasi paling selamat untuk pembangunan tempatan. - Port (Port): Port komunikasi API Typesense pada aras bawah. Lalai ialah
8108
. Walaupun perkhidmatan berjalan pada port ini, sangat disarankan anda guna domainhttps://typesense.servbay.host
bagi capaian API. - API Key (Kunci API): Kunci untuk mengesahkan semua permintaan API. Ini penting untuk melindungi data carian anda. Pastikan anda menetapkan kunci yang kukuh dan unik, serta menyimpannya dengan selamat.
- Data Path (Laluan Data): Lokasi storan semua data indeks dan konfigurasi oleh Typesense di sistem anda. Lalai:
/Applications/ServBay/data/typesense
. Klik ikon folder di sebelah kanan untuk membuka direktori ini secara mudah dalam Finder.
- Bind IP (IP Terikat): Alamat IP yang didengar oleh perkhidmatan Typesense. Nilai lalai
3. Simpan Konfigurasi dan Mulakan Perkhidmatan
- Setelah selesai konfigurasi, klik butang Save (Simpan) di penjuru kanan bawah.
- Kemudian, pergi ke senarai Pakej (Packages), cari
Typesense
, dan aktifkan suis di sebelah kanan untuk memulakan servis. - Jika konfigurasi betul, penunjuk status servis akan menjadi hijau—menandakan Typesense berjaya dijalankan.
4. Integrasi Typesense dalam Aplikasi Anda
Aplikasi anda (seperti JavaScript, PHP, Python, Go dan lain-lain) boleh disambungkan ke instans Typesense dalam ServBay melalui mana-mana pustaka klien rasmi atau komuniti Typesense.
Gunakan maklumat titik akhir ServBay seperti di bawah untuk sambungan:
- Host/Node (Hos/Nod):
typesense.servbay.host
- Port (Port):
443
(port HTTPS standard) - Protocol (Protokol):
https
- API Key (Kunci API): Nilai yang anda tetapkan di langkah 2 sebelum ini
Contoh Kod JavaScript (menggunakan klien typesense-js
)
Mula-mula, pasang klien JavaScript Typesense dalam projek anda:
bash
npm install typesense
# atau
yarn add typesense
1
2
3
2
3
Seterusnya, inisialisasi klien dan lakukan interaksi dalam kod anda:
javascript
import Typesense from 'typesense'
// Inisialisasi klien Typesense
// Perhatikan penggunaan domain khusus dan protokol selamat daripada ServBay
const client = new Typesense.Client({
nodes: [{
host: 'typesense.servbay.host',
port: 443,
protocol: 'https'
}],
apiKey: 'YOUR-SUPER-STRONG-API-KEY', // Gantikan dengan Kunci API yang anda tetapkan dalam ServBay
connectionTimeoutSeconds: 2
})
// Contoh: Cipta koleksi 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 {
// Cipta koleksi
await client.collections().create(bookSchema);
console.log("Collection 'books' created successfully.");
// Tambah 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("Document added successfully.");
// Melakukan carian
const searchParameters = {
'q': 'hitchhiker',
'query_by': 'title',
'sort_by': 'publication_year:desc'
};
const searchResults = await client.collections('books').documents().search(searchParameters);
console.log('Search Results:', searchResults);
} catch (error) {
console.error('Typesense Error:', 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
Soalan Lazim (FAQ)
- S: Saya terlupa API Key, bagaimana untuk set semula?
- J: Sangat mudah untuk set semula dalam ServBay. Masukkan saja kunci baharu di medan
API Key
dalam halaman konfigurasi Typesense (Search
->Typesense
), klik Simpan (Save), dan mulakan semula servis Typesense.
- J: Sangat mudah untuk set semula dalam ServBay. Masukkan saja kunci baharu di medan
- S: Servis Typesense gagal bermula, apa yang perlu dibuat?
- J: Sila semak perkara berikut:
- Klik ikon log di bahagian atas kanan halaman konfigurasi Typesense untuk melihat mesej ralat terperinci, selalunya ia memberi petunjuk terus.
- Pastikan port tempatan
8108
tidak digunakan oleh aplikasi lain. - Semak direktori yang ditetapkan untuk
Data Path
wujud dan ServBay mempunyai keizinan baca/tulis ke situ.
- J: Sila semak perkara berikut:
- S: Bolehkah saya akses API secara langsung melalui
http://127.0.0.1:8108
?- J: Boleh; port ini boleh dicapai secara tempatan. Namun, kami sangat syorkan gunakan
https://typesense.servbay.host/
kerana ia menawarkan penyulitan HTTPS secara automatik tanpa konfigurasi tambahan, lebih hampir kepada persekitaran pengeluaran, dan jauh lebih selamat.
- J: Boleh; port ini boleh dicapai secara tempatan. Namun, kami sangat syorkan gunakan
Kesimpulan
ServBay mengintegrasikan enjin carian Typesense yang berkuasa terus ke aliran kerja pembangunan macOS anda. Dengan konfigurasi grafik mudah dan titik akhir HTTPS selamat yang disediakan secara lalai, anda dapat fokus kepada membina pengalaman carian terbaik, tanpa membuang masa terhadap urusan pemasangan dan penyelenggaraan persekitaran yang rumit.