खोज इंजन अनुक्रमण
फास्ट और सटीक सूचना पुनर्प्राप्ति की सुविधा के लिए खोज इंजन ऑप्टिमाइज़ेशन इंडेक्सिंग एकत्रित, पार्स, और डेटा संग्रहीत करता है। इंडेक्स डिज़ाइन भाषा विज्ञान, संज्ञानात्मक मनोविज्ञान, गणित, सूचना विज्ञान और कंप्यूटर विज्ञान से अंतःविषय अवधारणाओं को शामिल करता है। इंटरनेट पर वेब पेज खोजने के लिए डिज़ाइन किए गए खोज इंजन के संदर्भ में प्रक्रिया का एक वैकल्पिक नाम वेब इंडेक्सिंग है।
लोकप्रिय इंजन ऑनलाइन, प्राकृतिक भाषा दस्तावेजों के पूर्ण-पाठ अनुक्रमण पर ध्यान केंद्रित करते हैं।[1] मीडिया प्रकार जैसे वीडियो, ऑडियो[2] और ग्राफिक्स भी खोज योग्य हैं।
मेटा सर्च इंजन अन्य सेवाओं के सूचकांकों का पुन: उपयोग करते हैं और एक स्थानीय सूचकांक को संग्रहीत नहीं करते हैं, जबकि कैश-आधारित खोज इंजन स्थायी रूप से कॉर्पस के साथ सूचकांक को संग्रहीत करते हैं। पूर्ण-पाठ सूचकांकों के विपरीत, आंशिक-पाठ सेवाएं सूचकांक आकार को कम करने के लिए अनुक्रमित गहराई को प्रतिबंधित करती हैं। बड़ी सेवाएं आमतौर पर एक पूर्व निर्धारित समय अंतराल पर आवश्यक समय और प्रसंस्करण लागत के कारण अनुक्रमण करती हैं, जबकि वास्तविक समय में एजेंट-आधारित खोज इंजन सूचकांक।
इंडेक्सिंग
एक इंडेक्स को संग्रहीत करने का उद्देश्य खोज क्वेरी के लिए प्रासंगिक दस्तावेज़ खोजने में गति और प्रदर्शन का अनुकूलन करना है। इंडेक्स के बिना, खोज इंजन कॉर्पस में प्रत्येक दस्तावेज़ को स्कैन करेगा, जिसके लिए काफी समय और कंप्यूटिंग शक्ति की आवश्यकता होगी। उदाहरण के लिए, जबकि 10,000 दस्तावेजों के सूचकांक को मिलीसेकंड के भीतर क्वेर किया जा सकता है, 10,000 बड़े दस्तावेजों में हर शब्द के क्रमिक स्कैन में घंटों लग सकते हैं। अनुक्रमणिका को संग्रहीत करने के लिए आवश्यक अतिरिक्त कंप्यूटर संग्रहण, साथ ही अद्यतन करने के लिए आवश्यक समय में काफी वृद्धि, सूचना पुनर्प्राप्ति के दौरान सहेजे गए समय के लिए बंद कर दिया जाता है।
सूचकांक डिजाइन कारक
खोज इंजन की वास्तुकला को डिजाइन करने में प्रमुख कारकों में शामिल हैं:
कारकों को मर्ज करें
डेटा इंडेक्स में कैसे प्रवेश करता है, या टेक्स्ट कॉरपस ट्रैवर्सल के दौरान इंडेक्स में शब्दों और विषय की विशेषताओं को कैसे जोड़ा जाता है, और क्या एकाधिक इंडेक्सर्स अतुल्यकालिक रूप से काम कर सकते हैं। इंडेक्सर को पहले जांचना होगा कि वह पुरानी सामग्री को अपडेट कर रहा है या नई सामग्री जोड़ रहा है। ट्रैवर्सल आमतौर पर डेटा संग्रह नीति से संबंधित है। खोज इंजन सूचकांक विलय एसक्यूएल मर्ज कमांड और अन्य मर्ज एल्गोरिदम की अवधारणा के समान है।
भंडारण तकनीक
इंडेक्स डेटा को कैसे स्टोर करना है, अर्थात जानकारी को संपीड़ित या फ़िल्टर किया जाना चाहिए।
सूचकांक का आकार
सूचकांक का समर्थन करने के लिए कंप्यूटर भंडारण की कितनी आवश्यकता है।
लुकअप गति
उल्टे सूचकांक में एक शब्द को कितनी जल्दी पाया जा सकता है। डेटा संरचना में एक प्रविष्टि खोजने की गति, इसकी तुलना में कितनी जल्दी इसे अपडेट या हटाया जा सकता है, कंप्यूटर विज्ञान का एक केंद्रीय ध्यान केंद्रित है।
रखरखाव
समय के साथ सूचकांक को कैसे बनाए रखा जाता है।[3]
दोष सहिष्णुता
सेवा के लिए विश्वसनीय होना कितना महत्वपूर्ण है। मुद्दों में सूचकांक भ्रष्टाचार से निपटना, यह निर्धारित करना शामिल है कि क्या खराब डेटा को अलगाव में माना जा सकता है, खराब हार्डवेयर से निपटने, विभाजन, और हैश-आधारित या समग्र विभाजन जैसी योजनाओं, के साथ-साथ प्रतिकृति भी।
सूचकांक डेटा संरचनाओं
खोज इंजन आर्किटेक्चर विभिन्न डिज़ाइन कारकों को पूरा करने के लिए इंडेक्सिंग के तरीके और इंडेक्स स्टोरेज के तरीकों में भिन्न होते हैं।
एक पेड़ की तरह संरचनात्मक रूप से संरचित, रैखिक समय देखने का समर्थन करता है। शब्दों के प्रत्ययों को संग्रहित करके निर्मित। प्रत्यय वृक्ष एक प्रकार का त्रि है। ट्राइसेबल हैशिंग का समर्थन करता है, जो खोज इंजन अनुक्रमण के लिए महत्वपूर्ण है।[4] डीएनए अनुक्रमों और क्लस्टरिंग में पैटर्न खोजने के लिए उपयोग किया जाता है। एक बड़ी कमी यह है कि पेड़ में किसी शब्द को संग्रहीत करने के लिए उस स्थान से परे जगह की आवश्यकता हो सकती है जो शब्द को स्वयं संग्रहित करने के लिए आवश्यक हो। एक वैकल्पिक प्रतिनिधित्व एक प्रत्यय सरणी है, जिसे कम आभासी मेमोरी की आवश्यकता माना जाता है और बीडब्ल्यूटी एल्गोरिथ्म जैसे डेटा संपीड़न का समर्थन करता है।
प्रत्येक परमाणु खोज मानदंड की घटनाओं की सूची को संग्रहीत करता है,[5] आमतौर पर हैश टेबल या बाइनरी ट्री के रूप में।
ग्रंथों के विश्लेषण के समर्थन के लिए दस्तावेजों के बीच भंडार उद्धरण या हाइपरलिंक, ग्रंथ सूची का विषय।
अन्य प्रकार की पुनर्प्राप्ति या पाठ खनन का समर्थन करने के लिए डेटा की लंबाई के अनुक्रम।
अव्यक्त अर्थ विश्लेषण में प्रयुक्त, द्वि-आयामी विरल मैट्रिक्स में दस्तावेजों में शब्दों की घटनाओं को संग्रहीत करता है।
समानता में चुनौतियां
खोज इंजन के डिजाइन में एक बड़ी चुनौती सीरियल कंप्यूटिंग प्रक्रियाओं का प्रबंधन है। दौड़ की स्थिति और सुसंगत दोषों के लिए कई अवसर हैं। उदाहरण के लिए, कॉर्पस में एक नया दस्तावेज़ जोड़ा गया है और सूचकांक को अद्यतन किया जाना चाहिए, लेकिन सूचकांक को खोज प्रश्नों का जवाब देना जारी रखना होगा। यह दो प्रतिस्पर्धी कार्यों के बीच टकराव है। विचार करें कि लेखक जानकारी के निर्माता हैं, और एक वेब क्रॉलर इस जानकारी का उपभोक्ता है, पाठ को हथियाने और इसे कैश (या कॉर्पस) में संग्रहीत करता है। फॉरवर्ड इंडेक्स कॉर्पस द्वारा निर्मित जानकारी का उपभोक्ता है, और उलटा इंडेक्स फॉरवर्ड इंडेक्स द्वारा निर्मित जानकारी का उपभोक्ता है। इसे आमतौर पर निर्माता-उपभोक्ता मॉडल के रूप में जाना जाता है। इंडेक्स खोज करने योग्य जानकारी का उत्पादक है और उपयोगकर्ता ऐसे उपभोक्ता हैं जिन्हें खोज करने की आवश्यकता है। वितरित भंडारण और वितरित प्रसंस्करण के साथ काम करने पर चुनौती बढ़ जाती है। बड़ी संख्या में अनुक्रमित सूचनाओं के साथ पैमाने पर करने के प्रयास में, खोज इंजन की वास्तुकला में वितरित कंप्यूटिंग शामिल हो सकती है, जहां खोज इंजन में कई मशीनें होती हैं, जो एक साथ काम करती हैं। यह असंगति के लिए संभावनाओं को बढ़ाता है और पूरी तरह से सिंक्रनाइज़, वितरित, समानांतर वास्तुकला बनाए रखने के लिए और अधिक कठिन बनाता है।[6]
उलटे सूचक
कई खोज इंजन एक उल्टे सूचकांक को शामिल करते हैं जब किसी प्रश्न में शब्दों से युक्त दस्तावेज़ों का शीघ्र पता लगाने के लिए खोज क्वेरी का मूल्यांकन करते हैं और फिर प्रासंगिकता से इन दस्तावेजों को रैंक करते हैं। क्योंकि उल्टे सूचकांक प्रत्येक शब्द वाले दस्तावेज़ों की एक सूची संग्रहीत करता है, खोज इंजन सीधे मेल का उपयोग कर सकता है ताकि क्वेरी में प्रत्येक शब्द से जुड़े दस्तावेज़ों को मिलान दस्तावेजों को जल्दी से पुनः प्राप्त कर सकें।
यह सूचकांक केवल यह निर्धारित कर सकता है कि कोई शब्द किसी विशेष दस्तावेज़ के भीतर मौजूद है, क्योंकि यह शब्द की आवृत्ति और स्थिति के बारे में कोई जानकारी संग्रहीत नहीं करता है; इसलिए इसे बूलियन इंडेक्स माना जाता है। ऐसा सूचकांक निर्धारित करता है कि कौन से दस्तावेज़ किसी प्रश्न से मेल खाते हैं लेकिन मिलान किए गए दस्तावेज़ों को रैंक नहीं करते हैं। कुछ डिज़ाइनों में सूचकांक में अतिरिक्त जानकारी शामिल होती है जैसे प्रत्येक दस्तावेज़ में प्रत्येक शब्द की आवृत्ति या प्रत्येक दस्तावेज़ में किसी शब्द की स्थिति।[7] पद जानकारी वाक्यांशों की खोज के समर्थन के लिए शब्द निकटता की पहचान करने के लिए खोज एल्गोरिथ्म को सक्षम करती है; क्वेरी के लिए दस्तावेजों की प्रासंगिकता को रैंकिंग में मदद करने के लिए आवृत्ति का उपयोग किया जा सकता है। इस तरह के विषय सूचना पुनर्प्राप्ति का केंद्रीय अनुसंधान फोकस हैं।
उलटा सूचकांक एक विरल मैट्रिक्स है, क्योंकि प्रत्येक दस्तावेज़ में सभी शब्द मौजूद नहीं हैं। कंप्यूटर मेमोरी आवश्यकताओं को कम करने के लिए, इसे दो आयामी सरणी से अलग तरीके से संग्रहीत किया जाता है। सूचकांक अव्यक्त शब्दार्थ विश्लेषण द्वारा नियोजित टर्म मैट्रिसेस के समान है। उल्टे सूचकांक को हैश टेबल का रूप माना जा सकता है। कुछ मामलों में सूचकांक एक द्विआधारी पेड़ का एक रूप है, जिसे अतिरिक्त भंडारण की आवश्यकता होती है, लेकिन लुकअप समय को कम कर सकता है। बड़े सूचकांकों में वास्तुकला आमतौर पर एक वितरित हैश तालिका है।[8]
सूचकांक विलय
उलटा सूचकांक एक मर्ज या पुनर्निर्माण के माध्यम से भरा हुआ है। एक पुनर्निर्माण एक मर्ज के समान है लेकिन पहले उल्टे सूचकांक की सामग्री को हटा देता है। आर्किटेक्चर को वृद्धिशील अनुक्रमण का समर्थन करने के लिए डिज़ाइन किया जा सकता है,[9] जहां एक मर्ज दस्तावेज़ या दस्तावेज़ों को जोड़ने या अद्यतन करने की पहचान करता है और फिर प्रत्येक दस्तावेज़ को शब्दों में दर्ज करता है। तकनीकी सटीकता के लिए, एक मर्ज नए अनुक्रमित दस्तावेजों को आम तौर पर वर्चुअल मेमोरी में रहता है, जिसमें एक या अधिक कंप्यूटर हार्ड ड्राइव पर इंडेक्स कैश का निवास होता है।
पार्स करने के बाद, इंडेक्सर संदर्भित दस्तावेज़ को उचित शब्दों के लिए दस्तावेज़ सूची में जोड़ता है। एक बड़े खोज इंजन में, प्रत्येक शब्द को उल्टे सूचकांक में खोजने की प्रक्रिया (यह रिपोर्ट करने के लिए कि यह किसी दस्तावेज़ के भीतर हुआ है) में बहुत अधिक समय लग सकता है, और इसलिए इस प्रक्रिया को आमतौर पर दो भागों में विभाजित किया जाता है, एक का विकास फॉरवर्ड इंडेक्स और एक प्रक्रिया जो फॉरवर्ड इंडेक्स की सामग्री को उल्टे इंडेक्स में क्रमबद्ध करती है। उल्टे सूचकांक को इसलिए नाम दिया गया है क्योंकि यह फॉरवर्ड इंडेक्स का उलटा है।
आगे का सूचकांक
फॉरवर्ड इंडेक्स प्रत्येक दस्तावेज़ के लिए शब्दों की एक सूची संग्रहीत करता है। आगे सूचकांक को विकसित करने के पीछे तर्क यह है कि जैसे ही दस्तावेजों को पार्स किया जाता है, प्रति दस्तावेज शब्दों को तुरंत संग्रहीत करना बेहतर होता है। परिसीमन अतुल्यकालिक प्रणाली प्रसंस्करण को सक्षम करता है, जो आंशिक रूप से उल्टे सूचकांक अद्यतन अड़चन को दरकिनार करता है। अग्रेषित सूचकांक को उल्टे सूचकांक में बदलने के लिए क्रमबद्ध किया जाता है। फॉरवर्ड इंडेक्स अनिवार्य रूप से उन डॉक्यूमेंट्स की एक सूची है, जो डॉक्यूमेंट से टकराकर डॉक्यूमेंट और वर्ड से मिलकर बनता है। फॉरवर्ड इंडेक्स को उल्टे इंडेक्स में बदलना केवल शब्दों द्वारा जोड़े को छांटने की बात है। इस संबंध में, उलटा सूचकांक एक शब्द-सॉर्ट किया गया आगे का सूचकांक है।
दबाव
बड़े पैमाने पर खोज इंजन इंडेक्स बनाना या बनाए रखना एक महत्वपूर्ण भंडारण और प्रसंस्करण चुनौती का प्रतिनिधित्व करता है। कई खोज इंजन डिस्क पर सूचकांकों के आकार को कम करने के लिए संपीड़न के एक रूप का उपयोग करते हैं।[10] एक पूर्ण पाठ, इंटरनेट खोज इंजन के लिए निम्नलिखित परिदृश्य पर विचार करें।
- एकल वर्ण को संग्रहीत करने में 8 बिट्स (या 1 बाइट) लगते हैं। कुछ एनकोडिंग प्रति चरित्र 2 बाइट्स का उपयोग करते हैं[11]
- किसी पृष्ठ पर किसी भी शब्द में वर्णों की औसत संख्या 5 अनुमानित की जा सकती है (विकिपीडिया: आकार तुलना)
इस परिदृश्य को देखते हुए, 2 बिलियन वेब पृष्ठों के लिए एक असम्पीडित सूचकांक (एक गैर-अनुमानित, सरल, अनुक्रमणिका मानते हुए) को 500 बिलियन शब्द प्रविष्टियों को संग्रहीत करने की आवश्यकता होगी। प्रति वर्ण 1 बाइट, या 5 बाइट प्रति शब्द, इसके लिए अकेले 2500 गीगाबाइट संग्रहण स्थान की आवश्यकता होगी। यह स्थान की आवश्यकता एक दोष-सहिष्णु वितरित भंडारण वास्तुकला के लिए और भी बड़ी हो सकती है। चुनी गई संपीड़न तकनीक के आधार पर, सूचकांक को इस आकार के एक अंश तक कम किया जा सकता है। Tradeoff संपीड़न और विघटन करने के लिए आवश्यक समय और प्रसंस्करण शक्ति है।
विशेष रूप से, बड़े पैमाने पर खोज इंजन डिजाइन में भंडारण की लागत के साथ-साथ भंडारण को बिजली देने के लिए बिजली की लागत शामिल होती है। इस प्रकार संपीड़न लागत का एक उपाय है।
यह सभी देखें
- नियंत्रित शब्दावली
- डेटाबेस सूचकांक
- पूरा पाठ खोजें
- सूचना निकासी
- त्वरित अनुक्रमण
- प्रसंग में मुख्य शब्द
- चयन-आधारित खोज
आगे की जानकारी
- आर बायर और ई मैकक्राइट संगठन और रखरखाव के बड़े आदेश दिए सूचकांकों। एक्टा इंफॉर्मेटिका, 173-189, 1972
- डोनाल्ड ई नुथ कंप्यूटर प्रोग्रामिंग की कला, खंड 1 (तीसरा संस्करण): मौलिक एल्गोरिदम, एडिसन वेस्ले लॉन्गमैन प्रकाशन कंपनी रेडवुड सिटी, सीए, 1997
- डोनाल्ड ई नुथ कंप्यूटर प्रोग्रामिंग की कला, खंड 3: (द्वितीय संस्करण), छांटना और खोज, एडिसन वेस्ले लॉन्गमैन प्रकाशन कंपनी रेडवुड सिटी, सीए, 1998
- जेराल्ड साल्टन स्वचालित पाठ प्रसंस्करण, एडिसन-वेस्ले लॉन्गमैन प्रकाशन कं, इंक।, बोस्टन, एमए, 1988
- जेरार्ड सैलटन माइकल जे। मैकगिल, आधुनिक सूचना पुनर्प्राप्ति का परिचय, मैकग्रा-हिल, इंक।, न्यूयॉर्क, एनवाई, 1986
संदर्भ
- ↑ क्लार्क, सी, कॉर्मैक, जी. "डिस्ट्रीब्यूटेड फुल-टेक्स्ट रिट्रीवल सिस्टम के लिए डायनामिक इन्वर्टेड इंडेक्स TechRep MT-95-01, वाटरलू विश्वविद्यालय, फरवरी 1995।". Cite journal requires
|journal=
(मदद) - ↑ "एक औद्योगिक-शक्ति ऑडियो खोज एल्गोरिथम" (PDF). Cite journal requires
|journal=
(मदद) - ↑ काटने, डी,, पेडरसन, जे. "गतिशील उल्टे सूचकांक रखरखाव के लिए अनुकूलन SIGIR की कार्यवाही, 405-411, 1990". Cite journal requires
|journal=
(मदद)सीएस1 रखरखाव: फालतू चिह्न (link) सीएस1 रखरखाव: एक से अधिक नाम: authors list (link) - ↑ "trie, डिक्शनरी ऑफ़ अल्गोरिद्म एंड डेटा स्ट्रक्चर्स". यू.एस. नेशनल इंस्टीट्यूट ऑफ स्टैंडर्ड एंड टेक्नोलॉजी.
- ↑ ब्लैक, पॉल ई,. "एल्गोरिथम और डेटा संरचनाओं का शब्दकोश". एल्गोरिथम और डेटा संरचनाओं का शब्दकोश.सीएस1 रखरखाव: फालतू चिह्न (link)
- ↑ जेफरी डीन, संजय गेमावत. "MapReduce: सरलीकृत डेटा प्रसंस्करण बड़े समूहों पर". Cite journal requires
|journal=
(मदद) - ↑ ग्रॉसमैन, फ्राइडर,, Goharian. "उल्टे सूचकांक की आईआर मूल बातें" (PDF). Cite journal requires
|journal=
(मदद)सीएस1 रखरखाव: फालतू चिह्न (link) सीएस1 रखरखाव: एक से अधिक नाम: authors list (link) - ↑ तांग, हुनकियांग, द्वारकादास, संध्या. "हाइब्रिड ग्लोबल लोकल इंडेक्सिंग फॉर एफ़िशिएंट पीयर टू पीयर इंफॉर्मेशन रिट्रीवल". Cite journal requires
|journal=
(मदद) - ↑ Tomasic,, A.,. "पाठ दस्तावेज़ पुनर्प्राप्ति के लिए उल्टे सूचियों का वृद्धिशील अद्यतन". स्टैनफोर्ड यूनिवर्सिटी कंप्यूटर साइंस टेक्निकल नोट STAN-CS-TN-93-1, दिसंबर, 1993 का लघु संस्करण।.सीएस1 रखरखाव: फालतू चिह्न (link)
- ↑ एच एस, Heaps. "एक दस्तावेज़ डेटाबेस के लिए एक संपीड़न कोडिंग का भंडारण विश्लेषण". 1NFOR, I0 (i): 47-61, फरवरी 1972.
- ↑ "यूनिकोड मानक - अक्सर पूछे जाने वाले प्रश्न".