5

मैं एक साधारण बहु स्तरीय स्थापित करने पर काम कर रहा हूँ 3.1 सेटअप रेल।ThnkingSphinx (sphinxd)? एक दूरस्थ सर्वर पर एक या अधिक सर्वर, PostgreSQL डेटाबेस और हमारे स्फिंक्स खोज अनुक्रमणिका पर वेब क्षुधा -

एक एकल सर्वर सेटअप हम ThinkingSphinx उपयोग कर रहे हैं, और डेल्टा अनुक्रमित (delayed_job का उपयोग) पर, तो एक रात क्रॉन मुख्य इंडेक्स अद्यतन करने के लिए। बहुत अच्छा काम करता है।

तो: उपयोगकर्ता अनुक्रमण योग्य सामग्री बनाता है; ऐप अपडेट शेड्यूल करने में देरी_job बताता है; डेल्टा-इंडेक्सर डेल्टा-इंडेक्स में नई सामग्री जोड़ता है; खोज खोज क्वेरी को ठीक से हल करने के लिए दोनों को देखें; रात की नौकरी एकल मुख्य सूचकांक पुन: प्रयास करती है।

ThinkingSphinx के लिए दस्तावेज़ कहते हैं here near the bottom

सबसे अच्छा तरीका स्फिंक्स, डेटाबेस और देरी काम प्रसंस्करण कार्य सभी एक मशीन पर चल रहा है।

लेकिन मुझे अस्पष्ट है कि विलंबित नौकरी प्रक्रिया द्वारा आवश्यक सर्वर को चलाने के लिए आवश्यक जानकारी कैसे भेजनी है। मैंने साझा फ़ाइल सिस्टम (यक - वास्तव में?) रखने के बारे में कुछ सामान पढ़ा है। मैंने अभी तक कोड नहीं पढ़ा है, लेकिन शायद एक आसान तरीका है?

यहाँ उम्मीद कर रहा है!

उत्तर

4

देरी नौकरी कार्यकर्ता (अपने DB/स्फिंक्स सर्वर पर चल रहा) डेटाबेस का संदर्भ है, अपने रेल एप्लिकेशन के संदर्भ में - तो आप अपने DB/स्फिंक्स सर्वर पर एप्लिकेशन की आवश्यकता होगी, लेकिन सिर्फ चलाने के लिए डीजे कार्यकर्ता

अपने अनुप्रयोग सर्वर के दृष्टिकोण से, टीएस सिर्फ काम रिकॉर्ड डेटाबेस के लिए सामान्य के अनुसार जोड़ देगा। -

तुम भी निम्न सेटिंग्स सेट कर सकते हैं यह एक अपने config/application.rb के अंत में चला जाता है:

ThinkingSphinx.remote_sphinx = Rails.env.production? 

और अपने config/sphinx.yml को स्फिंक्स संस्करण जोड़ें:

production: 
    version: 2.0.1-beta 
+0

धन्यवाद @pat। चूंकि हम नई अनुक्रमणिका योग्य सामग्री (जैसे ईमेल भेजना) बनाते समय अन्य सामानों के लिए देरी_job चला रहे हैं, मुझे धारणा थी कि यह वह जगह है जहां हम देरी हुई डेल्टा इंडेक्सिंग हो रही थीं। लेकिन निश्चित रूप से यह नहीं है - 'बंडल निष्पादन रेक टीएस: डीडी' है जहां डेल्टा इंडेक्सिंग किया जाता है। इसे देरी हुई, उसमें देरी हुई। मुझे cornfused मिला :-) धन्यवाद! –

संबंधित मुद्दे