क्या कोई मुझे सही दिशा में ले जा सकता है? मुझे वास्तव में कोड लिखने का अनुभव नहीं है, लेकिन मैं एक तेज शिक्षार्थी हूं। मैं यह कहने की कोशिश नहीं कर रहा हूं कि यह आसान होगा लेकिन मुझे उम्मीद है कि कोई मेरी मदद कर सकता है ...
क्या कोई मुझे सही दिशा में ले जा सकता है? मुझे वास्तव में कोड लिखने का अनुभव नहीं है, लेकिन मैं एक तेज शिक्षार्थी हूं। मैं यह कहने की कोशिश नहीं कर रहा हूं कि यह आसान होगा लेकिन मुझे उम्मीद है कि कोई मेरी मदद कर सकता है ...
जवाबों:
मैंने इसे एक ब्लॉग के लिए लिखा था जब मैं रास्ते में वापस आता था .... यह अब वेब पर नहीं है .. यहाँ यह है! :
सर्च इंजन कैसे लिखे
Darol Rowger over probolgger.net पर कुछ भी "कैसे" के लिए एक समूह लेखन परियोजना आयोजित की जा रही है। यह उन कुछ ब्लॉगों में से एक है जो मैं नियमित रूप से पढ़ता हूं इसलिए मुझे लगता है कि एक बदलाव के लिए कुछ पढ़ने लायक क्यों नहीं लिखा है, बल्कि मेरे मानक हिंसक शेख़ी जहां मैं गले में ह्यूगो चेव्स को छुरा मारने की धमकी देता हूं।
मैंने "कैसे एक खोज इंजन लिखने के लिए" लिखने का फैसला किया। मैंने दो कारणों से इस विषय को चुना:
मेरा ग्राहक महत्वपूर्ण आकार का एक ऑनलाइन रिटेलर है, इसलिए मैं संपूर्ण वेब को केवल अपनी साइट पर नहीं खोज रहा हूं, विशेष रूप से केवल अपनी साइट पर बिक्री के लिए उत्पादों को। इंटरनेट की खोज के लिए उपयोग किए जाने वाले अधिक जटिल लेखन के लिए किसी भी कम समान तकनीकों का उपयोग नहीं किया जा सकता है। मुझे पता है कि यह एक तकनीकी ब्लॉग नहीं है, इसलिए मैं तकनीकीताओं में बहुत गहराई तक नहीं जाऊंगा, न ही मैं हार्डवेयर \ प्रोसेसिंग पावर आवश्यकताओं, या वेब क्रॉलिंग पर चर्चा करूंगा।
मैं एक काफी सरल तकनीक का उपयोग कर रहा हूं, मेरे पास तीन क्षेत्रों के साथ तालिका (tblKeywords) है:
पहली बात यह है कि मैं प्रासंगिक है कि कहीं से भी अलग-अलग शब्दों को इकट्ठा करता हूं। अपने ग्राहक के लिए मैं उत्पादों की तालिका शब्दों को खींचूंगा। विशेष रूप से क्षेत्रों से Itemid, ItemName, ItemShortDescription, ItemLongDescription, निर्माता, निर्माताSKU, श्रेणी 1, श्रेणी 2, श्रेणी 3 ect के। यदि आप वेबपृष्ठों को अनुक्रमित कर रहे हैं, तो आप पृष्ठ पाठ, पृष्ठ शीर्षक, URL या अन्य पृष्ठों पर लिंक से डेटा खींच सकते हैं जो पृष्ठ पर अनुक्रमित होने पर वापस लिंक करते हैं।
वजन मूल्य यह निर्धारित किया जाता है कि कीवर्ड कहाँ से आया है। उदाहरण के लिए मेरे मामले में आइटम के निर्माण के SKU को 100 का वजन मिलेगा, जबकि आइटम के नाम के एक शब्द को 25 का वजन मिल सकता है। आइटमलॉन्गस्क्रिप्ट के एक शब्द का वजन 5 हो सकता है। यदि आप वेब पेजों को अनुक्रमित कर रहे हैं पृष्ठ के शीर्षक से 75 का वजन मिल सकता है जबकि पृष्ठ के पाठ से बोल्ड शब्द में 10 का वजन हो सकता है। यदि किसी शब्द को एक या अधिक बार दोहराया जाता है और एक से अधिक स्थानों पर आप प्रत्येक बार के लिए वजन जोड़ सकते हैं ऐसा होता है। उदाहरण के लिए यदि शब्द "शर्ट" आइटमआईडीडी = 12345 के लिए दो स्थानों से आता है, तो आइटमनाम (25 का वजन) और आइटमलॉन्गसक्रिप्शन में दो बार दिखाई देता है (5 x2 = 10 का वजन) शब्द "शर्ट" में आइटमआईड के लिए कुल वजन 35 होगा। = 12345।
यदि कोई "गुलाबी शर्ट" की खोज करता है, तो मैं "पिंक" या "शर्ट" और कुल वजन के सभी उदाहरणों के लिए अपनी तालिका खोजता हूं। शीर्ष पर उच्चतम कुल वजन के साथ आइटम दिखा रहा है।
SQL:
Select Itemid, sum(weight) as totWeight from tblKeywords
group by itemId having keyword in ('pink','shirt')
तो यहाँ आपके पास यह है, एक बुनियादी (और तेज़) खोज इंजन। बेशक ऐसा करने के लिए और भी बहुत कुछ है, जैसे कि स्ट्रिप आउट विराम चिह्न, HTML कोड और बेकार कीवर्ड जैसे "और", "अगर", "या"। यह कुंजी वाक्यांशों के लिए खोज को संबोधित नहीं करता है, लेकिन आप वाक्यांशों के लिए एक समान प्रणाली का उपयोग कर सकते हैं यदि आप यह पता लगा सकते हैं कि वे कहां से शुरू होते हैं और समाप्त होते हैं।
इंट्रोडक्शन टू इंफॉर्मेशन रिट्रीवल का स्वतंत्र रूप से वितरित मसौदा आपका मुख्य संदर्भ सामग्री होने जा रहा है। यह बुनियादी से उन्नत स्तर तक खोज (सूचना पुनर्प्राप्ति) को संभालता है।
वेब क्रॉलर पर खोज इंजन बनाए जाते हैं , आपको यह जानने के लिए कि इन परिणामों को प्रदर्शित करने के लिए वेबसाइट विकसित करने से पहले आपको इनमें से एक चूसने वाले का निर्माण कैसे करना होगा (इसके साथ जाने के लिए आपको तेज, कुशल डेटाबेस की आवश्यकता होगी)।
यह सीएस के लिए एक परिचयात्मक पाठ्यक्रम है जो 20 तारीख से शुरू होने जा रहा है, मेरा सुझाव है कि आप इसे देखें, यह मुफ़्त है।