दिलचस्प पोस्ट
एसडीके टूल में एंड्रॉइड एमुलेटर शुरू करने, 12 संशोधन मैं नवीनतम निर्भरता के लिए package.json में प्रत्येक निर्भरता को कैसे अपडेट कर सकता हूं? क्या कोई एमडी 5 फिक्स्ड प्वाइंट है जहां एमडी 5 (एक्स) == एक्स? PHP में एक बहुआयामी सरणी छंटनी? सरणी के सभी सबसेट कैसे प्राप्त करें? क्या एक ईवेंट हैंडलर को एक नियंत्रण से "चोरी" करना संभव है और इसे किसी दूसरे को दे सकता है? संग्रह में ऑब्जेक्ट द्वारा टी क्यों घिरा है। मैक्स () हस्ताक्षर? PHP त्रुटि: हेडर सूचना को संशोधित नहीं किया जा सकता है – हेडर पहले ही भेजे गए हैं असाइनमेंट ऑपरेटर को ले जाएं और `यदि (यह! = & Rhs)` जावास्क्रिप्ट सेकंड मिनट और सेकंड के लिए प्रत्येक श्रेणी के लिए शीर्ष 10 रिकॉर्ड चुनें OpenCV और मशीन सीखने का उपयोग कर सरल ऑब्जेक्ट डिटेक्शन मैं PHP के open_basedir प्रतिबंध कैसे प्राप्त कर सकता हूं? गतिविधि खत्म करने के लिए मैं एनीमेशन कैसे जोड़ सकता / सकती हूं? क्रोम देव उपकरण – "आकार" बनाम "सामग्री"

मैं एक वेबसाइट में खोज कार्यक्षमता कैसे लागू करूं?

मैं वेबसाइट के लिए खोज कार्यक्षमता को लागू करना चाहता हूं (मान लें कि यह SO के समान है)। मैं उस तरह से सामानों की Google खोज का उपयोग नहीं करना चाहता हूं

मेरा सवाल यह है कि:

मैं इसे कैसे क्रियान्वित करूं?

दो तरीकों से मुझे अवगत हैं:

  1. जब उपयोगकर्ता अपनी क्वेरी देता है, तब सभी डेटाबेस को खोजें।
  2. सूचकांक मेरे पास मौजूद सभी डेटा और इसे कहीं और संग्रहीत करता है और वहां से पूछता है (जैसे कि Google क्या करता है)

क्या कोई मुझे बता सकता है कि किस तरह से जाना है? पक्ष और विपक्ष क्या होते हैं?

बेहतर, क्या ऐसा करने के लिए कोई बेहतर तरीके हैं?

वेब के समाधान से एकत्रित समाधान "मैं एक वेबसाइट में खोज कार्यक्षमता कैसे लागू करूं?"

लुसेन का प्रयोग करें,
http://lucene.apache.org/java/docs/

अपाचे ल्यूसीन एक उच्च प्रदर्शन, पूर्ण विशेषताओं वाला पाठ खोज इंजन पुस्तकालय है जो पूरी तरह जावा में लिखा गया है। यह लगभग किसी भी अनुप्रयोग के लिए उपयुक्त तकनीक है जो पूर्ण-पाठ खोज की आवश्यकता है, विशेषकर क्रॉस-प्लेटफॉर्म

यह जावा और .net में उपलब्ध है यह एक ज़ेंड फ़्रेमवर्क मॉड्यूल के रूप में भी PHP में उपलब्ध है।

लुसेन जो आप चाहते थे (खोजे गए आइटमों की सूची), आपको एक ल्यूसिन इंडेक्स का ट्रैक रखना होगा, लेकिन प्रदर्शन के मामले में डेटाबेस खोज करने से बेहतर है बीटीडब्ल्यू, तो खोज ल्यूसीन द्वारा संचालित है : डी

यह आपकी वेब साइट कितनी व्यापक है और आप कितना अपने आप को करना चाहते हैं पर निर्भर करता है

यदि आप एक कस्टम वेबसाइट को बिना किसी कस्टम खोज को जोड़ने के लिए चल रहे हैं, तो Google को काम करने दें (शायद कोई साइटमैप जोड़ें) और Google कस्टम खोज का उपयोग करें

यदि आप एक एसक्यूएल इंजन के साथ एक मध्यम साइट चलाते हैं तो अपने एसक्यूएल इंजन की खोज सुविधाओं का उपयोग करें।

यदि आप कुछ भारी सॉफ़्टवेयर स्टैक चलाते हैं जैसे जे 2 ईई या नेट। एक महान, शक्तिशाली खोज इंजन या इसके नेट का क्लोन lucene.Net का प्रयोग करें

यदि आप अपने आवेदन से अपनी खोज को बताने और एक्सएमएल / एचटीटीपी और जेएसओएन एपीआई के साथ एक भाषा में तटस्थ तरीके से पूछना चाहते हैं, तो सॉल्टर पर नजर डालें। सोलर पृष्ठभूमि में ल्यूसीन चलाता है, लेकिन इसमें एक अच्छा वेब इंटरफ़ेस जोड़ता है

आप एक्सपेियन और ओमेगा फ्रंट एंड पर एक नज़र रखना चाहते हैं यह अनिवार्य रूप से एक टूलकिट है जिस पर आप खोज कार्यक्षमता का निर्माण कर सकते हैं।

इस पर पहुंचने का सबसे अच्छा तरीका यह निर्भर करेगा कि आप अपने पृष्ठों का निर्माण कैसे करते हैं।

यदि वे कई अलग-अलग रिकॉर्डों से अक्सर बनाते हैं (जैसा कि मैं स्टैक अतिप्रवाह पृष्ठों की कल्पना करता हूं), अनुक्रमणिका का दृष्टिकोण बेहतर परिणाम देने की संभावना है जब तक कि आप डेटाबेस के पृष्ठों पर प्रभावी तरीके से पुनर्निर्माण के लिए बहुत सारे काम न करें।

इंडेक्सिंग दृष्टिकोण के साथ आपके पास यह नुकसान समय के आसपास है। कार्यपालक (Google की साइटमैप सामग्री) की तरह हैं, लेकिन वे सही होने के लिए भी जटिल हैं

यदि आप डेटाबेस पथ के साथ जाते हैं, तो यह भी ध्यान रखें कि आधुनिक खोज इंजन सिस्टम बेहतर कार्य करते हैं, यदि उनके पास लिंक डेटा की प्रक्रिया है, तो एक ऐसी प्रणाली को खोजने के लिए जो डेटाबेस में 'पृष्ठ' के बीच लिंक को समझ सकता है, सकारात्मक प्रभाव पड़ेगा।

यदि आप माइक्रोसॉफ्ट प्लैटफ़ॉर्म पर हैं तो आप इंडेक्सिंग सर्विस का इस्तेमाल कर सकते हैं। यह आईआईएस वेबसाइटों के साथ बहुत आसानी से एकीकृत करता है।

इसमें पूर्ण पाठ खोज, रैंकिंग, एक्सलक्यूड जैसी सभी मूलभूत विशेषताएं हैं और कुछ फाइल प्रकार शामिल हैं और आप अपनी खुद की मेटा जानकारी को HTML पृष्ठों में मेटा टैग के माध्यम से जोड़ सकते हैं।

एक Google करें और आपको टन मिलेगा!

यह आपके प्रश्न का कुछ हद तक ओर्थोगोनल है, लेकिन मैं बेहद सख्त खोज का सुझाव देता हूं। वह यह है कि एक ऐसी खोज निष्पादित करने के लिए जो कभी नहीं किया गया है, वेबसाइट / खोज / में एक क्वेरी पोस्ट करता है किसी खोज को पुनः चलाने के लिए, वेबसाइट GET / खोज / {कुछ आईडी}

इसके बारे में कुछ अच्छा दस्तावेज मिलते हैं, उदाहरण के लिए यहां ।

(उस ने कहा, मुझे अनुक्रमण जहां संभव है, हालांकि यह एक अनुकूलन है, और इस तरह समय से पहले हो सकता है।)

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

एकमात्र पकड़ यह है कि आप अपनी खोज अनुक्रमणिका को दोहरा नहीं सकते हैं। तो आपको अनुक्रमणिका तालिकाओं को रखने या नए ग्रिड आधारित सूचकांक भंडारण तंत्र का उपयोग करने के लिए क्लस्टर डेटाबेस का उपयोग करने की आवश्यकता है जो कम्पास फ्रेमवर्क 2.x में जोड़े गए हैं।