2011-05-10 18 views
5

मेरी परियोजना का उदाहरण।टैग या खोज या

कई उपयोगकर्ता कई प्रविष्टियां (लगता है चहचहाना आकार)

मैं यह बहुत आसान उपयोगकर्ताओं को अपने प्रविष्टियों के लिए खोज करने के लिए करना चाहते हैं। सवाल यह है: क्या मैं एक टैगिंग सिस्टम या सिर्फ एक खोज तंत्र लागू करता हूं? मैंने इस विषय पर विशेष रूप से स्कीमा की आवश्यकता के बारे में उचित मात्रा में शोध किया है। लेकिन, मेरे पास अभी भी कुछ प्रश्न हैं।

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

यदि मैं खोज का उपयोग करता हूं तो मुझे LIKE या FULLTEXT (MyISM अच्छा नहीं है) का उपयोग करना होगा और प्रविष्टियों और उनके मेटाडेटा को खोजना होगा। मेटाडेटा इस परिदृश्य में डेटा जैसे टैग स्टोर कर सकता है। यह योजना बहुत आसान होगी लेकिन मुझे डर है कि टैग का उपयोग करने से प्रदर्शन बहुत खराब होगा। लेकिन, फिर से खोज अधिक लचीला है और मुझे टैग को कचरा इकट्ठा करने के बारे में चिंता करने की ज़रूरत नहीं है।

अब, दिलचस्प बात यह है कि मैंने पढ़ा है कि खोज प्रदर्शन में सुधार करने के लिए लोगों ने खोज + टैगिंग दृष्टिकोण पर ले लिया है। प्रविष्टि में सभी शब्दों को टैग करना और फिर TAGS खोजना। जिस तरह से मुझे टैग सिस्टम के साथ होने पर संकेत मिलता है। इस बिंदु पर टैगिंग और खोज के बीच की रेखा अस्पष्ट हो रही है और मैं वास्तव में उलझन में हूं। तो, मैं उम्मीद में यह लिख रहा हूं कि आप मुझे हल कर सकते हैं।

मेरे पास उपयोगकर्ताओं के ढेर और छोटे टेक्स्ट प्रविष्टियों के ढेर हैं। उपयोगकर्ताओं को खोजने में सक्षम होने का सबसे अच्छा तरीका क्या है। प्रदर्शन परिप्रेक्ष्य के साथ-साथ उपयोगकर्ता इंटरैक्शन परिप्रेक्ष्य दोनों।

इसके अलावा, इस विषय पर किसी भी अतिरिक्त जानकारी की सराहना की जाएगी।

चीयर्स।

+0

+1 महान प्रश्न के लिए समर्पित सेवा प्रदान करता हूं। – rkg

उत्तर

1

मैं आपको इस सुविधा के लिए समर्पित खोज इंजन का उपयोग करने का सुझाव दूंगा, उदाहरण के लिए Sphinx या KinoSearch। खोज क्वेरी के संबंध में अधिकतम लचीलापन होने पर प्रासंगिक खोज परिणामों को प्राप्त करना एक व्यवसाय है (उदाहरण के लिए Google का व्यवसाय), इसलिए मैं हमेशा इस कार्य के लिए समर्पित सेवा को

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