Sphinx (search engine)
स्फिंक्स एक पूर्ण पाठ खोज इंजन है जो क्लाइंट अनुप्रयोगों को पाठ खोज कार्यक्षमता प्रदान करता है। सिंहावलोकन स्फिंक्स का उपयोग या तो एकल सर्वर के रूप में या डेटाबेस के माईएसक्यूएल परिवार के लिए भंडारण इंजन ("स्फिंक्स") के रूप में किया जा सकता है। जब एक स्टैंडअलोन सर्वर के रूप में चलाया जाता है तो स्फिंक्स डी. बी. एम. एस. के समान काम करता है और अपने मूल प्रोटोकॉल के माध्यम से या ओ. डी. बी. सी. के माध्यम से किसी भी ओ. डी. बी. सी.-अनुपालन डी. बी. एम. एस. के साथ माई. एस. क्यू. एल., मारिया. डी. बी. और पोस्टग्रे. एस. क्यू. एल. के साथ संवाद कर सकता है। मारियाडीबी, मायएसक्यूएल का एक कांटा, स्फिंक्सएसई के साथ वितरित किया जाता है। स्फिंक्सएपीआई यदि स्फिंक्स को एकल सर्वर के रूप में चलाया जाता है, तो किसी अनुप्रयोग को इससे जोड़ने के लिए स्फिंक्सएपीआई का उपयोग करना संभव है। एपीआई के आधिकारिक कार्यान्वयन पी. एच. पी., जावा, पर्ल, रूबी और पायथन भाषाओं के लिए उपलब्ध हैं। अन्य भाषाओं के लिए अनौपचारिक कार्यान्वयन के साथ-साथ विभिन्न तृतीय पक्ष प्लगइन्स और मॉड्यूल भी उपलब्ध हैं। अन्य डेटा स्रोतों को एक कस्टम एक्स. एम. एल. प्रारूप में पाइप के माध्यम से अनुक्रमित किया जा सकता है। स्फिंक्स खोज डेमन मायएसक्यूएल द्विआधारी नेटवर्क प्रोटोकॉल का समर्थन करता है और इसे नियमित मायएसक्यूएल एपीआई और/या ग्राहकों के साथ एक्सेस किया जा सकता है। स्फिंक्स एसक्यूएल के एक उपसमुच्चय का समर्थन करता है जिसे स्फिंक्सक्यूएल के रूप में जाना जाता है। यह एस. ई. एल. ई. सी. टी. के साथ सभी सूचकांक प्रकारों की मानक पूछताछ का समर्थन करता है, आई. एन. एस. ई. आर. टी., आर. ई. पी. एल. ए. सी. ई. और डी. ई. एल. ई. टी. ई. के साथ रियल टाइम सूचकांकों को संशोधित करता है। स्फिंक्सएसई स्फिंक्स मारियाडीबी और माईएसक्यूएल डेटाबेस के लिए एक विशेष भंडारण इंजन भी प्रदान कर सकता है। यह उन माईएसक्यूएल, मारियाडीबी को प्रश्नों को चलाने और परिणाम प्राप्त करने के लिए स्फिंक्स की खोज के साथ संवाद करने की अनुमति देता है। स्फिंक्स सूचकांकों को नियमित एस. क्यू. एल. तालिकाओं की तरह माना जाता है। स्फिंक्सएसई भंडारण इंजन को मारियाडीबी के साथ भेजा जाता है। पूर्ण-पाठ फ़ील्ड और अनुक्रमण स्फिंक्स को उसके अनुक्रमणिका के माध्यम से डेटा सेट की जांच करने के लिए कॉन्फ़िगर किया गया है। इंडेक्सर प्रक्रिया दिए गए डेटा/टेक्स्ट से एक पूर्ण-पाठ सूचकांक (एक विशेष डेटा संरचना जो त्वरित मुख्य शब्द खोजों को सक्षम बनाती है) बनाती है। पूर्ण-पाठ क्षेत्र परिणामी सामग्री है जिसे स्फिंक्स द्वारा अनुक्रमित किया जाता है; उन्हें (जल्दी से) मुख्य शब्दों के लिए खोजा जा सकता है। फ़ील्ड्स के नाम दिए गए हैं, और आप अपनी खोजों को एक ही फ़ील्ड तक सीमित कर सकते हैं (जैसे। केवल "शीर्षक" के माध्यम से खोजें) या क्षेत्रों के एक उपसमुच्चय (जैसे। केवल "शीर्षक" और "अमूर्त")। स्फिंक्स का सूचकांक प्रारूप आमतौर पर 256 क्षेत्रों तक का समर्थन करता है। ध्यान दें कि मूल डेटा स्फिंक्स सूचकांक में संग्रहीत नहीं है, लेकिन अनुक्रमण प्रक्रिया के दौरान त्याग दिया जाता है; स्फिंक्स मानता है कि आप उन सामग्रियों को कहीं और संग्रहीत करते हैं। एट्रिब्यूट्स एट्रिब्यूट्स प्रत्येक दस्तावेज़ से जुड़े अतिरिक्त मूल्य हैं जिनका उपयोग खोज के दौरान अतिरिक्त फ़िल्टरिंग और छँटाई करने के लिए किया जा सकता है। विशेषताओं के नाम दिए गए हैं। विशेषता नाम केस असंवेदनशील होते हैं। विशेषताएँ पूर्ण-पाठ अनुक्रमित नहीं होती हैं; उन्हें सूचकांक में संग्रहीत किया जाता है। वर्तमान में समर्थित विशेषता प्रकार हैंः अहस्ताक्षरित पूर्णांक (1-बिट से 32-बिट चौड़े); यूनिक्स टाइमस्टैम्प; फ्लोटिंग पॉइंट मान (32-बिट, आई. ई. ई. ई. 754 एकल परिशुद्धता); स्ट्रिंग ऑर्डिनल्स (विशेष रूप से गणना किए गए पूर्णांक); स्ट्रिंग्स (1.10-beta के बाद से); जे. एस. ओ. एन. (2.1.1-beta के बाद से); एम. वी. ए., बहु-मूल्य विशेषताएँ (32-बिट अहस्ताक्षरित पूर्णांक की चर-लंबाई सूचियाँ)। स्फिंक्स स्फिंक्स में जे. एस. ओ. एन. विशेषताएँ, क्लासिक एस. क्यू. एल. डेटाबेस की तरह, एक तथाकथित निश्चित योजना के साथ काम करती हैं, जो कि पूर्वनिर्धारित विशेषता स्तंभों का एक समूह है। ये अच्छी तरह से काम करते हैं जब संग्रहीत अधिकांश डेटा में वास्तव में मान होते हैंः विरल डेटा को स्थिर स्तंभों में मानचित्रण करना बोझिल हो सकता है। उदाहरण के लिए मान लीजिए कि आप कई अलग-अलग उत्पादों की श्रेणियों के साथ मूल्य तुलना या नीलामी साइट चला रहे हैं। कीमत या विक्रेता जैसी कुछ विशेषताएँ सभी वस्तुओं में समान होती हैं। लेकिन वहाँ से, लैपटॉप के लिए, आपको वजन, स्क्रीन का आकार, एच. डी. डी. प्रकार, रैम का आकार आदि भी संग्रहीत करने की आवश्यकता है। और, मान लीजिए, फावड़ों के लिए, आप शायद रंग, हैंडल की लंबाई आदि को संग्रहीत करना चाहते हैं। इसलिए यह एक ही श्रेणी में प्रबंधनीय है, लेकिन सभी श्रेणियों में सभी वस्तुओं के लिए आपको जिन अलग-अलग क्षेत्रों की आवश्यकता है, वे सेना हैं। इसे दूर करने के लिए जे. एस. ओ. एन. क्षेत्र का उपयोग किया जा सकता है। जे. एस. ओ. एन. विशेषता के अंदर आपको एक निश्चित संरचना की आवश्यकता नहीं है। आपके पास विभिन्न कुंजी हो सकती हैं जो सभी दस्तावेजों में मौजूद हो भी सकती हैं और नहीं भी। जब आप इनमें से किसी एक कुंजी को फ़िल्टर करने का प्रयास करते हैं, तो स्फिंक्स उन दस्तावेजों को नजरअंदाज कर देगा जिनमें जे. एस. ओ. एन. विशेषता में कुंजी नहीं है और केवल उन दस्तावेजों के साथ काम करेगा जिनमें यह है। संस्करण 3 तक, स्फिंक्स दोहरी लाइसेंस प्राप्त है; या तोः जीएनयू जनरल पब्लिक लाइसेंस संस्करण 2 या मालिकाना लाइसेंस उपयोग-मामलों के लिए उपलब्ध है जो जीएनयू जीपीएलवी2 की शर्तों के भीतर नहीं हैं। संस्करण 3 के बाद से, स्फिंक्स मालिकाना बन गया है, भविष्य में अपने स्रोत कोड को जारी करने के वादे के साथ स्फिंक्स उपयोग उदाहरण Craigslist.org Recruitment.aleph-graymatter.com Tradebit.com vBulletin.com मीडियाविकी एक्सटेंशन Boardreader.com OMBE.com Limundo.com फीचर सूची बैच और वृद्धिशील (सॉफ्ट रियल-टाइम) पूर्ण-पाठ अनुक्रमण। गैर-पाठ विशेषताओं (स्केलर, स्ट्रिंग, सेट, जे. एस. ओ. एन.) के लिए समर्थन। एस. क्यू. एल. डेटाबेस की प्रत्यक्ष अनुक्रमणिका। मायएसक्यूएल, मारियाडीबी, पोस्टग्रेएसक्यूएल, एमएसएसक्यूएल, और ओडीबीसी कनेक्टिविटी के लिए स्थानीय समर्थन। एक्स. एम. एल. दस्तावेज़ अनुक्रमण समर्थन। आउट-ऑफ-द-बॉक्स वितरित खोज समर्थन। अभिगम एपीआई के माध्यम से एकीकरण। माईएसक्यूएल प्रोटोकॉल के माध्यम से एसक्यूएल-जैसे वाक्यविन्यास समर्थन (0.9.9 से) पूर्ण-पाठ खोज वाक्यविन्यास। डेटाबेस की तरह परिणाम सेट प्रसंस्करण। मानक बीएम25 के अलावा अतिरिक्त कारकों का उपयोग करते हुए प्रासंगिकता रैंकिंग। एस. बी. सी. एस. और यू. टी. एफ.-8 एनकोडिंग के लिए पाठ प्रसंस्करण समर्थन, स्टॉपवर्ड्स, डेटाबेस में नहीं दिखाई देने वाले शब्दों की अनुक्रमणिका ("हिटलेस"), स्टेमिंग, शब्द रूप, टोकनाइज़िंग अपवाद, और "मिश्रित वर्ण" (एक वास्तविक चरित्र और एक शब्द विभाजक दोनों के रूप में दोहरी अनुक्रमणिका)। यू. डी. एफ. का समर्थन करता है (2.0.1 से)। 10-15 एमबी/सेकंड प्रति कोर और एचडीडी तक की प्रदर्शन और मापनीयता अनुक्रमण गति। 2 जीबी रैम के साथ 2-कोर डेस्कटॉप सिस्टम का उपयोग करके 1,000,000 दस्तावेज़/1.2 जीबी संग्रह के खिलाफ 500 से अधिक प्रश्नों/सेकंड की खोज गति। स्फिंक्स का उपयोग करने वाली सबसे बड़ी ज्ञात स्थापना, Boardreader.com, 16 बिलियन दस्तावेज़ों को अनुक्रमित करती है। सबसे व्यस्त ज्ञात इंस्टॉलेशन, क्रेगलिस्ट, 300,000,000 प्रश्नों/दिन और 50 बिलियन से अधिक पृष्ठ दृश्यों/महीने पर कार्य करता है। 2017 में, मूल स्फिंक्स टीम के प्रमुख सदस्यों ने मन्टिकोर नामक परियोजना का एक कांटा बनाया। मन्टिकोर टीम ने खुद को निम्नलिखित लक्ष्य निर्धारित किया हैः पूर्ण पाठ खोज के लिए तेज़, स्थिर और शक्तिशाली मुफ्त सॉफ्टवेयर प्रदान करना। मन्टिकोर टीम अपने कांटे को खुला स्रोत रखती है, इसे मूल स्फिंक्स खोज के विपरीत जी. पी. एल. वी. 2 लाइसेंस के तहत जारी करती है, जो तीसरे संस्करण से स्रोत को बंद कर देती है। यह भी देखें सूचना पुनर्प्राप्ति पुस्तकालयों की सूची संदर्भ आगे पढ़ने के लिए कोई और खुला स्रोत नहीं (2017) https://sphinxsearch.com/blog/2017/07/24/sphinx-2017 बाहरी लिंक मारियाडीबी नॉलेजबेस https://manticoresearch.com-मेंटिकोर ओपनसोर्स कांटा साइट में स्फिंक्सएसई। इंटरनेट खोज इंजन मुक्त खोज इंजन सॉफ्टवेयर