2011-05-25 17 views
5

स्टैक ओवरफ्लो पर पहली पोस्ट के बजाय आंकड़े देता है, लेकिन मैंने हमेशा इस साइट को साझा ज्ञान के एक महान स्रोत के रूप में देखा है, और मैं यह देखने के लिए उत्साहित हूं कि इस प्रश्न से क्या आता है।कीवर्ड सर्च इंजन जो हिट

जैसा कि मुझे लगता है कि अब मैं एसक्यूएल इंडेक्स, आंकड़े और पूर्ण-पाठ खोज के साथ क्या कर सकता हूं, इसकी सीमा तक पहुंच गया हूं, मैं वर्तमान में एक खोज पुस्तकालय की तलाश में हूं जो हमें आवश्यक कार्यक्षमता प्रदान कर सकता है। मैं इसे खुद लिखने के विपरीत नहीं हूं (और यदि मैं मालिक की मंजूरी प्राप्त कर सकता हूं तो इसे खोलना), लेकिन मैं कुछ खुला स्रोत ढूंढना पसंद करूंगा जो पहले से मौजूद है, नच।

हम जो खोज रहे हैं वह एक खोज इंजन है जो उपयोगकर्ता द्वारा विशिष्ट कीवर्ड की खोज करते समय मेल खाने वाले परिणामों के आंकड़े प्रदान कर सकता है। मान लें, उदाहरण के लिए, कि हम एक ऑनलाइन दुकान में उत्पादों के डेटाबेस के बारे में बात कर रहे थे। हमें के आंकड़े वापस करने में सक्षम होना चाहिए कि कितने उत्पाद हैं जो कि कीवर्ड के दिए गए सेट से मेल खाते हैं (और यह परिणाम मूल्य, श्रेणी इत्यादि द्वारा सेट किए गए परिणाम को फ़िल्टर करने में भी सक्षम हो सकते हैं), साथ ही साथ उत्पादों की कुल संख्या स्टॉक (यह मानते हुए कि यह उत्पाद तालिका में किसी फ़ील्ड में संग्रहीत है)। मेरे द्वारा प्राप्त किए गए सभी खोज इंजन शीर्ष n परिणाम लौटाते हैं, और यदि आप परिणाम सेट के आकार के बारे में आंकड़े चाहते हैं, तो आपको पूरे सेट को गिनने की आवश्यकता है। यहां तक ​​कि अगर आपको स्टॉक में उत्पादों की कुल संख्या को पुनः प्राप्त करने के लिए अभी भी ऐसा करने की आवश्यकता नहीं है।

क्या कोई भी इस बारे में जानता है कि इस कार्यक्षमता में सक्षम है? जैसा कि मैंने कहा, मुझे अपने हाथ गंदे होने और इसे स्वयं बनाने के लिए खुश हैं, या लुसीन जैसे कुछ की कार्यक्षमता को संशोधित करने में मुझे खुशी है, लेकिन मैं Google पर कुछ भी उचित नहीं ढूंढ पा रहा हूं।

अग्रिम लोगों में धन्यवाद!

उत्तर

1

कुछ ध्यान में रखना है कि "सभी परिणामों की गणना करना" का अर्थ बहुत अलग चीजें हो सकता है - select count(*) वास्तव में प्रत्येक वस्तु को प्राप्त करने के लिए आवश्यक सभी जोड़ों आदि से बहुत अलग है। यह ल्यूसीन के साथ ही संबंधपरक डेटाबेस में भी सच है। तो मैं केवल इस तथ्य के बारे में चिंता नहीं करता कि दस्तावेज कहता है "हम सभी परिणामों की गणना करते हैं।"

यह मेरा अनुभव रहा है कि 99% लोगों को सौर स्केल की मानक पहलू की आवश्यकता है। यदि आप उस 1% में हैं (यानी आपके पास विशाल डेटाबेस है) तो मैं परिणामों को अनुमान लगाने के कुछ तरीकों का सुझाव दे सकता हूं जो जल्दी हो सकते हैं। लेकिन सोलर शायद आपके लिए काम करेगा।

+0

मुझे पता है कि आप सौर फ़ेसटिंग का उल्लेख करने वाले पहले व्यक्ति हैं, भले ही युवाल एफ की स्पष्टीकरण पूर्ण हो, मैं इसे उत्तर के रूप में चिह्नित करने जा रहा हूं। आपकी सहायता के लिए बहुत धन्यवाद। सोलर-सोलर के लिए – Mike

0

मुझे लगता है के रूप में मैं अब क्या मैं एसक्यूएल अनुक्रमित के साथ कर सकते

क्या आपको यकीन है की सीमा तक पहुँच चुके हैं? मैं पूछता हूं क्योंकि यदि आप MySQL का उपयोग कर रहे हैं, तो आप PostgreSQL की full text search कार्यक्षमता को देखना चाहेंगे। खासकर जब आप btree_gin और trigram मॉड्यूल के साथ गठबंधन करते हैं, और बेहद सभ्य explain कार्यक्षमता जो आपको अत्यधिक जटिल प्रश्नों से उचित पंक्ति अनुमान निकालने की अनुमति देती है।

3

आप Solr पर एक नज़र डाल सकते हैं, जो ल्यूसीन के शीर्ष पर स्थित एक पहचाना गया खोज इंजन है। पूर्ण-पाठ खोज करने के अलावा, सौर आपके लिए कई अलग-अलग चीजों की गणना करेगा। यह संरचित और पूर्ण-पाठ डेटा के संयोजनों को संभालने में अच्छा है।

+0

+1 पहलुओं में बनाया गया है, जो आंकड़ों के समान हैं जो आप खोज रहे हैं।यह सेट अप करने के लिए अपेक्षाकृत आसान है, एक SQL डेटाबेस आयात करें, और देखें कि यह आपकी आवश्यकताओं के अनुरूप है या नहीं। Http://www.slideshare.net/erikhatcher/rapid-prototyping-with-solr-4312681 या http://lucene.apache.org/solr/tutorial.html –

+0

ऐसा करने की कोशिश करें जो मुझे चाहिए - मैंने स्पष्ट रूप से किया सोलर पर्याप्त क्रेडिट नहीं दे रहा हूं - मैं इसे और अधिक ध्यान दूंगा। धन्यवाद! – Mike

+0

बस इस धागे में एक अद्यतन पोस्ट करना चाहता था, क्योंकि अब मैंने एक सौर कार्यान्वयन प्रोटोटाइप किया है और यह हमें विशाल (ईमानदारी से, विशाल) प्रदर्शन सुधार प्रदान करता है। यह शानदार सलाह थी। संदर्भ के लिए, मैंने आवश्यक कार्यक्षमता प्रदान करने के लिए सोलर की आँकड़े सुविधा का उपयोग किया था, और सोलरनेट से बात करने में सक्षम था जिसे अब मैं सोलरनेट का उपयोग कर चला रहा हूं। – Mike

संबंधित मुद्दे