ServBay में Typesense सर्च इंजन का कॉन्फ़िगरेशन और उपयोग
Typesense एक ओपन-सोर्स, हल्का और अत्यंत तेज़ इन-मेमोरी सर्च इंजन है, जिसे कम लेटेंसी और “टाइप करते ही खोजें” (search-as-you-type) अनुभव के लिए डिज़ाइन किया गया है। यह अक्सर Algolia या Elasticsearch का हल्का विकल्प माना जाता है। ServBay के ज़रिए आप आसानी से अपने macOS लोकल एनवायरनमेंट में एक पूरी तरह से कार्यात्मक Typesense इंस्टेंस को डिप्लॉय और मैनेज कर सकते हैं, जिससे आपके ऐप्लिकेशंस को मजबूत सर्च क्षमताएँ मिलती हैं।
अवलोकन
ServBay Typesense की इंस्टॉलेशन व कॉन्फ़िगरेशन प्रक्रिया को काफी सरल बना देता है। डेवलपर्स को जटिल कमांड लाइन कमांड्स इस्तेमाल करने की जरूरत नहीं—ServBay के ग्राफ़िकल इंटरफ़ेस में सारे सेटिंग्स आसानी से किए जा सकते हैं, और इन्स्टैंट लोकल सर्च सर्विस मिलती है।
डेवलपमेंट अनुभव को और भी बेहतर बनाने के लिए, ServBay आपके Typesense इंस्टेंस के लिए एक सुरक्षित और सुविधाजनक HTTPS API एंडपॉइंट अपने-आप कॉन्फ़िगर करता है: https://typesense.servbay.host/
। इसका मतलब है कि आपको पोर्ट फॉरवर्डिंग या SSL सर्टिफिकेट सेटअप की चिंता किए बिना सीधा इसी डोमेन का इस्तेमाल अपनी API कॉल्स के लिए कर सकते हैं।
पूर्व-आवश्यकताएँ
- आपके macOS सिस्टम में ServBay सफलतापूर्वक इंस्टॉल और रन हो रहा है।
- आप एक ऐसे प्रोजेक्ट पर काम कर रहे हैं जिसमें सर्च फ़ीचर इंटिग्रेट करना है।
- आपको सर्च इंजन से जुड़े बेसिक कॉन्सेप्ट्स (जैसे Collection/इंडेक्स, डॉक्युमेंट, API Key) की बुनियादी जानकारी है।
स्टेप दर स्टेप प्रक्रिया
1. Typesense पैकेज इंस्टॉल करें
सबसे पहले आपको ServBay में Typesense पैकेज इंस्टॉल करना होगा:
- ServBay ऐप्लिकेशन खोलें।
- लेफ्ट साइड नेविगेशन बार में पैकेजेस (Packages) पर क्लिक करें।
- पैकेज लिस्ट में
सर्च
-Typesense
ढूंढ़ें। Typesense
के पास दायीं ओर INSTALL बटन पर क्लिक करें और इंस्टॉलेशन पूरा होने तक प्रतीक्षा करें।- दायीं ओर दिए गए बटन पर क्लिक कर के
Typesense
सर्विस को ऑन करें।
2. Typesense सर्विस कॉन्फ़िगर करें
इंस्टॉलेशन के बाद, आपको Typesense के बेसिक कॉन्फ़िगरेशन करने होंगे:
ServBay की लेफ्ट नेविगेशन में Search पर क्लिक करें।
ड्रॉपडाउन में Typesense चुनें और इसकी कॉन्फ़िगरेशन स्क्रीन पर जाएँ।
आपको निम्नलिखित कॉन्फ़िगरेशन विकल्प दिखाई देंगे, जिन्हें आप आवश्यकता अनुसार बदल सकते हैं या डिफ़ॉल्ट रहने दें:
- Bind IP (बाइंड IP): Typesense सर्विस द्वारा सुने जाने वाले IP ऐड्रेस का निर्धारण करें। डिफ़ॉल्ट
127.0.0.1
इसे सिर्फ लोकल मशीन तक सीमित रखता है, यह डेवलपमेंट के लिए सबसे सुरक्षित सेटिंग है। - Port (पोर्ट): Typesense API से कनेक्शन के लिए पोर्ट—डिफ़ॉल्ट रूप से
8108
। सेवा इस पोर्ट पर चलती है, लेकिन हमारा सुझाव है कि आप सर्वबे द्वारा दिए गएhttps://typesense.servbay.host
डोमेन का ही इस्तेमाल करें। - API Key (API कुंजी): सभी API अनुरोधों को प्रमाणीकृत करने के लिए। यह आपके सर्च डेटा की सुरक्षा के लिए बेहद ज़रूरी है। कृपया एक मजबूत और यूनिक कुंजी सेट करें व सुरक्षित रखें।
- Data Path (डेटा पाथ): Typesense का वह स्थानीय पाथ जहां सभी इंडेक्स डेटा और सेटिंग्स सेव होती हैं। डिफ़ॉल्ट पाथ है
/Applications/ServBay/data/typesense
। दाहिने तरफ के फोल्डर आइकन पर क्लिक करके आप इसे Finder में जल्दी एक्सेस कर सकते हैं।
- Bind IP (बाइंड IP): Typesense सर्विस द्वारा सुने जाने वाले IP ऐड्रेस का निर्धारण करें। डिफ़ॉल्ट
3. सेटिंग सेव करके सर्विस शुरू करें
- सारी कॉन्फ़िगरेशन के बाद, नीचे दाहिनी ओर Save (सेव) बटन पर क्लिक करें।
- फिर पैकेजेस (Packages) सूची में वापस जाएँ,
Typesense
खोजें और उसके दाहिने साइड के स्विच को ऑन करें। - सब सेटिंग्स सही हैं तो, सेवा का स्टेटस लाइट हरा हो जाएगा—मतलब Typesense सफलतापूर्वक रन कर रहा है।
4. ऐप्लिकेशन में Typesense इंटिग्रेट करें
आपका ऐप्लिकेशन (जैसे JavaScript, PHP, Python, Go आदि) ServBay में चल रहे Typesense इंस्टेंस से आसानी से कनेक्ट कर सकता है—इसके लिए ऑफ़िशल या कम्युनिटी-निर्मित Typesense क्लाइंट लाइब्रेरी उपलब्ध है।
कनेक्शन के लिए निम्नलिखित खास जानकारी का उपयोग करें:
- Host/Node (होस्ट/नोड):
typesense.servbay.host
- Port (पोर्ट):
443
(HTTPS के लिए डिफ़ॉल्ट पोर्ट) - Protocol (प्रोटोकॉल):
https
- API Key (API कुंजी): आपने स्टेप 2 में जो API Key सेट की थी
JavaScript कोड उदाहरण (typesense-js क्लाइंट के साथ)
सबसे पहले अपने प्रोजेक्ट में Typesense JS क्लाइंट इंस्टॉल करें:
bash
npm install typesense
# या
yarn add typesense
1
2
3
2
3
फिर अपने कोड में क्लाइंट को इनिशियलाइज़ करें और Typesense से इंटरैक्शन करें:
javascript
import Typesense from 'typesense'
// Typesense क्लाइंट इनिशियलाइज़ करें
// ध्यान दें कि यहाँ हम ServBay का डेडिकेटेड डोमेन और सुरक्षित प्रोटोकॉल इस्तेमाल कर रहे हैं
const client = new Typesense.Client({
nodes: [{
host: 'typesense.servbay.host',
port: 443,
protocol: 'https'
}],
apiKey: 'YOUR-SUPER-STRONG-API-KEY', // यहाँ अपना ServBay API Key डालें
connectionTimeoutSeconds: 2
})
// उदाहरण: 'books' नाम का कलेक्शन (collection) बनाना
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 {
// कलेक्शन बनाना
await client.collections().create(bookSchema);
console.log("Collection 'books' सफलतापूर्वक बनाया गया।");
// एक पुस्तक डॉक्युमेंट जोड़ना
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("डॉक्युमेंट सफलतापूर्वक जोड़ा गया।");
// सर्च ऑपरेशन
const searchParameters = {
'q': 'hitchhiker',
'query_by': 'title',
'sort_by': 'publication_year:desc'
};
const searchResults = await client.collections('books').documents().search(searchParameters);
console.log('सर्च परिणाम:', searchResults);
} catch (error) {
console.error('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)
- Q: अगर मैं अपनी API Key भूल जाऊँ तो क्या करूँ?
- A: ServBay में रिसेट करना बेहद आसान है—Typesense कॉन्फ़िगरेशन स्क्रीन (
Search
->Typesense
) में,API Key
फ़ील्ड में नई कुंजी डालें, Save (सेव) बटन दबाएँ, फिर Typesense सर्विस को रीस्टार्ट करें।
- A: ServBay में रिसेट करना बेहद आसान है—Typesense कॉन्फ़िगरेशन स्क्रीन (
- Q: Typesense सर्विस स्टार्ट नहीं हो रहा, तो क्या करें?
- A: निम्नलिखित बातें जांचें:
- Typesense कॉन्फ़िगरेशन्स स्क्रीन पर ऊपर दाएँ लॉग आइकन पर क्लिक करें और देखें कि वास्तव में किस वजह से एरर आ रहा है।
- अपने सिस्टम पर
8108
पोर्ट किसी अन्य एप्लिकेशन द्वारा इस्तेमाल तो नहीं हो रहा है। - चेक करें कि
Data Path
जो सेट है—वह फोल्डर मौजूद है और ServBay को उस पर पढ़ने-लिखने की अनुमति है।
- A: निम्नलिखित बातें जांचें:
- Q: क्या मैं
http://127.0.0.1:8108
पर डायरेक्ट API एक्सेस कर सकता हूँ?- A: हाँ, लोकलहोस्ट पोर्ट पर एपीआई उपलब्ध है। लेकिन हम सलाह देते हैं कि आप हमेशा
https://typesense.servbay.host/
का उपयोग करें क्योंकि यह बिना अतिरिक्त सेटिंग के HTTPS एन्क्रिप्शन देता है—जो कि प्रोडक्शन जैसा है और ज्यादा सुरक्षित भी।
- A: हाँ, लोकलहोस्ट पोर्ट पर एपीआई उपलब्ध है। लेकिन हम सलाह देते हैं कि आप हमेशा
सारांश
ServBay आपके macOS लोकल डेवेलपमेंट वर्कफ़्लो में Typesense सर्च इंजन की शक्तिशाली क्षमतायें जोड़ता है। आसान ग्राफिकल कॉन्फ़िगरेशन और प्री-कॉन्फ़िगर सुरक्षित HTTPS एंडपॉइंट के जरिए आप बगैर अतिरिक्त मेहनत के बेहतरीन सर्च अनुभव पर फोकस कर सकते हैं, न कि वातावरण सेटअप व रखरखाव पर समय बर्बाद करने में।