ServBay'de Typesense Arama Motorunun Kurulumu ve Kullanımı
Typesense, düşük gecikmeli ve klavyeden girilen verilerle anında arama deneyimi sunmak üzere tasarlanmış, açık kaynaklı, hafif ve son derece hızlı bir bellek içi arama motorudur. Algolia veya Elasticsearch’e hafif bir alternatif olarak sıklıkla tercih edilir. ServBay sayesinde, kendi macOS ortamınızda eksiksiz bir Typesense örneğini kolayca kurabilir ve uygulamalarınıza güçlü bir arama özelliği entegre edebilirsiniz.
Genel Bakış
ServBay, Typesense’in kurulumu ve yapılandırma sürecini oldukça basitleştirir. Geliştiriciler karmaşık komut satırı işlemlerine gerek olmadan, ServBay’in grafiksel arayüzü üzerinden tüm ayarları tamamlayabilir ve kutudan çıkar çıkmaz çalışan lokal bir arama servisinin keyfini çıkarabilirler.
Geliştirme deneyiminizi daha da iyileştirmek için, ServBay sizin için Typesense örneğine güvenli ve kolay erişilebilen bir HTTPS API uç noktası otomatik olarak oluşturur: https://typesense.servbay.host/
. Böylece port yönlendirme veya SSL sertifikası ayarlarıyla uğraşmadan, doğrudan bu alan adı üzerinden API çağrıları yapabilirsiniz.
Ön Koşullar
- macOS sisteminizde ServBay yüklü ve çalışıyor olmalı.
- Arama özelliği eklemek istediğiniz bir projede çalışıyorsunuz.
- Arama motorlarına dair temel kavramlara (Collection/Koleksiyon, Document/Belge, API Anahtarı gibi) aşinasınız.
Adım Adım Kurulum
1. Typesense Paketini Yükleme
Öncelikle, ServBay üzerinde Typesense paketini yükleyin:
- ServBay uygulamasını açın.
- Sol menüden Yazılım Paketleri (Packages) seçeneğine tıklayın.
- Paketler listesinde
Arama
-Typesense
seçeneğini bulun. - Sağdaki yükleme düğmesine tıklayarak
Typesense
’i yükleyin ve işlemin tamamlanmasını bekleyin. - Sağda yer alan düğmeye tıklayarak
Typesense
servisini etkinleştirin.
2. Typesense Servisini Yapılandırma
Kurulum tamamlandıktan sonra, Typesense’inize temel ayarlar yapmanız gerekir:
ServBay’in sol menüsünden Search (Arama)’ya tıklayın.
Açılan menüden Typesense’i seçerek yapılandırma ekranına girin.
Karşınıza aşağıdaki yapılandırma ayarları çıkacak; dilediğiniz gibi değiştirebilir veya varsayılan değerleri kullanabilirsiniz:
- Bind IP (Bağlama IP’si): Typesense’in dinleyeceği IP adresi. Varsayılan
127.0.0.1
, servisin yalnızca yerel makineden erişilebilir olmasını sağlar—geliştirme ortamı için en güvenli seçenek budur. - Port (Port): Typesense API’sinin temel iletişim portu; varsayılan olarak
8108
. Servis bu portta çalışsa da, erişim için özellikle ServBay’in sunduğuhttps://typesense.servbay.host
alan adını kullanmanızı öneriyoruz. - API Key (API Anahtarı): Tüm API taleplerinin kimliğini doğrulamada kullanılır. Arama verilerinizin güvenliği için kritik önem taşır. Lütfen güçlü ve benzersiz bir anahtar belirleyin ve güvenli bir şekilde saklayın.
- Data Path (Veri Yolu): Typesense’in tüm endeks verilerini ve yapılandırmalarını yerel olarak sakladığı klasör yolu. Varsayılan olarak
/Applications/ServBay/data/typesense
. Sağdaki klasör simgesine tıklayarak bu dizinine Finder’da hızlıca ulaşabilirsiniz.
- Bind IP (Bağlama IP’si): Typesense’in dinleyeceği IP adresi. Varsayılan
3. Ayarları Kaydedin ve Servisi Başlatın
- Tüm ayarları tamamladıktan sonra sağ alt köşedeki Kaydet (Save) düğmesine tıklayın.
- Sonra, Yazılım Paketleri (Packages) listesine geri dönüp
Typesense
i bulun ve servis düğmesini açarak başlatın. - Yapılandırma doğruysa, servis durum göstergesi yeşile dönecek ve Typesense başarıyla çalışıyor olacaktır.
4. Uygulamanızda Typesense’i Entegre Edin
Uygulamanız (JavaScript, PHP, Python, Go vb.) ServBay’de çalışan Typesense örneğine, resmi ya da topluluk tarafından geliştirilen istemci kütüphaneleri üzerinden bağlanabilir.
Bağlantı esnasında, ServBay’in sizin için sağladığı özel uç nokta bilgilerini kullanın:
- Host/Node (Ana Makine/Düğüm):
typesense.servbay.host
- Port:
443
(standart HTTPS portu) - Protocol (Protokol):
https
- API Key (API Anahtarı): 2. adımda belirlediğiniz anahtar
JavaScript Kod Örneği (typesense-js istemcisiyle)
Öncelikle, projenizde Typesense JavaScript istemcisini yükleyin:
bash
npm install typesense
# ya da
yarn add typesense
1
2
3
2
3
Daha sonra, kodunuzda istemciyi başlatıp işlemlerinize başlayabilirsiniz:
javascript
import Typesense from 'typesense'
// Typesense istemcisini başlatma
// ServBay’in sağladığı özel domain ve güvenli bağlantı kullanılıyor
const client = new Typesense.Client({
nodes: [{
host: 'typesense.servbay.host',
port: 443,
protocol: 'https'
}],
apiKey: 'YOUR-SUPER-STRONG-API-KEY', // ServBay'de belirlediğiniz API Anahtarıyla değiştirin
connectionTimeoutSeconds: 2
})
// Örnek: 'books' adında bir koleksiyon (collection) oluşturma
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 {
// Koleksiyon oluştur
await client.collections().create(bookSchema);
console.log("Collection 'books' created successfully.");
// Bir kitap belgesi ekleyin
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.");
// Arama yapın
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
Sık Sorulan Sorular (SSS)
- S: API Anahtarımı unuttum, nasıl sıfırlayabilirim?
- C: ServBay üzerinden sıfırlamak çok kolaydır. Typesense yapılandırma panelinde (
Search
->Typesense
)API Key
alanına yeni bir anahtar girin, Kaydet’e tıklayın ve ardından Typesense servisini yeniden başlatın.
- C: ServBay üzerinden sıfırlamak çok kolaydır. Typesense yapılandırma panelinde (
- S: Typesense servisi başlatılamadı, ne yapmalıyım?
- C: Lütfen aşağıdakileri kontrol edin:
- Typesense yapılandırma ekranının sağ üst kısmındaki log simgesine tıklayarak detaylı hata mesajlarını görüntüleyin—bu genellikle en hızlı ipucunu sağlar.
- Yerel
8108
portunun başka bir uygulama tarafından kullanılmadığından emin olun. Data Path
olarak belirtilen dizinin var olduğundan ve ServBay’in bu dizinde okuma/yazma yetkisine sahip olduğundan emin olun.
- C: Lütfen aşağıdakileri kontrol edin:
- S: API’ye doğrudan
http://127.0.0.1:8108
üzerinden erişebilir miyim?- C: Evet, bu port yerelde erişilebilir durumdadır. Ancak, ek yapılandırma gerektirmeden HTTPS şifrelemesi sunan ve üretim ortamına daha yakın olan
https://typesense.servbay.host/
adresini kullanmanızı kesinlikle öneriyoruz.
- C: Evet, bu port yerelde erişilebilir durumdadır. Ancak, ek yapılandırma gerektirmeden HTTPS şifrelemesi sunan ve üretim ortamına daha yakın olan
Özet
ServBay, güçlü Typesense arama motorunu yerel macOS geliştirme akışınıza zahmetsizce entegre eder. Basitleştirilmiş grafiksel yapılandırması ve güvenli, önceden ayarlanmış HTTPS uç noktasıyla, zamanınızı ve enerjinizi mükemmel arama deneyimleri geliştirmeye harcayabilir; karmaşık kurulum ya da bakım işlerine ayırmak zorunda kalmazsınız.