Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

स्फिंक्स को MySQL में एकीकृत करना

ऐसा नहीं कर सकते। Sphinx (sphinxQL के लिए सक्षम होने पर) आपको केवल एक सर्वर देता है जो दिखता है एक MySQL की तरह - यानी यह एक ही संचार प्रोटोकॉल का उपयोग करता है - मुख्य रूप से केवल स्फिंक्स के लिए एक नया बनाने के बजाय, केवल MySQL क्लाइंट पुस्तकालयों का पुन:उपयोग कर सकता है।

वे अलग 'सर्वर' हैं। आप mysql कमांड चलाने के लिए mysql सर्वर से कनेक्ट होते हैं; आप sphinxQL कमांड चलाने के लिए sphinx सर्वर से कनेक्ट होते हैं।

एप्लिकेशन को प्रत्येक 'सर्वर' से अलग से कनेक्ट करना होगा। जरा कल्पना करें कि स्फिंक्स पोस्टग्रेज जैसा कुछ था, आप स्पष्ट रूप से MySQL से कनेक्ट नहीं होते हैं और पोस्टग्रेस्क्ल को चलाने में सक्षम होने की उम्मीद करते हैं।

हालांकि स्फिंक्सएसई है - जो एक नकली MySQL स्टोरेज इंजन है। आप इसे mysql में इंस्टॉल करते हैं, और फिर आप इस इंजन का उपयोग करके एक टेबल बना सकते हैं। फिर आप इस तालिका के विरुद्ध MySQL क्वेरी चलाते हैं, हुड के नीचे एक चल रहे स्फिंक्स-सर्वर संपर्क हैं। तो MySQL के लिए यह एक तालिका की तरह दिखता है जिसमें डेटा होता है, यह सबसे उपयोगी है क्योंकि परिणाम प्राप्त करने के लिए मूल डेटा तालिका के साथ इस खोज तालिका में शामिल हो सकते हैं और एक MySQL क्वेरी में मूल डेटा प्राप्त कर सकते हैं।

तब एप्लिकेशन को स्फिंक्स से कनेक्ट करने की आवश्यकता नहीं होती है। स्फिंक्सएसई यह आपके लिए करता है।

http://sphinxsearch.com/docs/current.html#sphinxse

नहीं। आप जो भी इंजन पसंद करते हैं, उसका उपयोग करके आप मूल डेटा को वहीं रखते हैं। स्फिंक्स सिर्फ एक 'इंडेक्स' प्रदान करता है - यह मूल डेटा * को स्टोर नहीं करता है। यह एक ऐसा डेटाबेस नहीं है, बस इसकी अत्यधिक अनुकूलित अनुक्रमण के साथ तेजी से क्वेरिंग प्रदान करता है।

मूल रूप से आप स्फिंक्स से विशिष्ट क्वेरी से मेल खाने वाले दस्तावेज़ों की विशिष्ट आईडी के लिए पूछते हैं। फिर डेटा देखने के लिए उन आईडी का उपयोग करें। SphinxAPI, sphinxSE और sphinxQL ऐसा करने के केवल तीन अलग-अलग तंत्र हैं।

नहीं। एक एकल स्फिंक्स इंस्टेंस कई अनुक्रमणिका को होस्ट कर सकता है। और एक इंडेक्स के कई सोर्स हो सकते हैं। तो प्रति टेबल सिर्फ एक इंडेक्स बना सकते हैं। या यदि आप मुख्य रूप से उन्हें एक साथ खोजना चाहते हैं, तो केवल एक समेकित अनुक्रमणिका बना सकते हैं।

--** टिप्पणियों में प्रश्न का उत्तर देने के लिए संपादित करें:**

आप शायद प्रति टेबल एक स्फिंक्स इंडेक्स को परिभाषित करेंगे। तो आपको प्रत्येक तालिका के लिए स्रोत/सूचकांक जोड़ी की आवश्यकता होगी। (जब तक आप सभी तालिकाओं को एक अनुक्रमणिका में अनुक्रमित नहीं करना चाहते, जो भी संभव है।

यह तालिकाओं को स्वयं नहीं पढ़ सकता है, और कॉन्फ़िगरेशन फ़ाइल बना सकता है, आपको प्रत्येक अनुक्रमणिका को व्यक्तिगत रूप से परिभाषित करना होगा।

नहीं, प्रॉक्सी नहीं।

मूल रूप से हाँ। क्लाइंट इससे उसी तरह कनेक्ट होगा जैसे वह एक mysql-server से कनेक्ट होता है।

कुछ असंभव नहीं। mysql क्वेरी चलाने के लिए, mysql-server से कनेक्ट करें। sphinxQL क्वेरी चलाने के लिए searchd से कनेक्ट करें।

दो कनेक्शन, एक प्रति सर्वर।

पता नहीं। फ़ायरवॉल समस्या हो सकती है।




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL तालिका के आधार पर C# कक्षाएं बनाएं

  2. कोलाज के अवैध मिश्रण को कैसे हल करें (latin1_general_ci,IMPLICIT) त्रुटि

  3. NULLs रखते हुए कई तालिकाओं में शामिल हों

  4. MySQL को दो स्तंभों के बीच सभी अद्वितीय मान मिलते हैं

  5. Intellij विचार में JDBC/Mysql Connector का उपयोग करें