आप मिश्रण में Redis शुरू करने के लिए विरोध नहीं कर रहे हैं, https://github.com/seatgeek/soulmate पर एक नजर है - README से:
सोलमेट मदद करने के लिए एक तेजी से स्वत: पूर्ण सुविधा विकसित करने की आम समस्या का समाधान एक उपकरण है। यह आंशिक रूप से पूर्ण किए गए शब्दों और संबंधित शीर्ष मिलान करने वाली वस्तुओं की अनुक्रमणिका बनाने के लिए रेडिस के सॉर्ट किए गए सेट का उपयोग करता है, और उन्हें पूछने के लिए एक सरल sinatra ऐप प्रदान करता है। सोलमेट आपके वाक्यों को खत्म करता है। निम्नलिखित
सोलमेट सरल और तेजी से होने के लिए बनाया गया था, और प्रदान करता है:
- (SeatGeek में हम कलाकारों, घटनाओं के लिए स्वतः पूर्ण कर रहे हैं, और स्थानों) किसी एक क्वेरी में मदों की कई प्रकार के लिए सुझाव प्रदान करें
- परिणाम द्वारा आदेश दिया जाता है एक उपयोगकर्ता द्वारा निर्दिष्ट प्रत्येक आइटम के लिए स्कोर
- मनमानी मेटाडाटा
एक आइटम मैं (SeatGeek पर हम दोनों एक यूआरएल और एक उपशीर्षक भंडारण कर रहे हैं) सा सरल JSON ऑब्जेक्ट कि लगता है कि:
{
"id": 3,
"term": "Citi Field",
"score": 81,
"data": {
"url": "/citi-field-tickets/",
"subtitle": "Flushing, NY"
}
}
कहाँ id
एक अद्वितीय पहचानकर्ता (विशेष प्रकार के भीतर) है, term
वाक्यांश आप को पूर्ण करने का भी प्रदान कर रहा है, score
एक उपयोगकर्ता द्वारा निर्दिष्ट रैंकिंग मीट्रिक (redis है होगा एक ही स्कोर वाले आइटमों के लिए चीजें लेक्सिकोोग्राफ़िक रूप से ऑर्डर करें), और data
मेटाडेटा के लिए एक वैकल्पिक कंटेनर है जिसे आप इस आइटम से मेल खाते हैं जब आप वापस लौटना चाहते हैं (सीटजीक में हम आइटम के लिए यूआरएल और साथ ही उपशीर्षक भी शामिल करते हैं इसे एक स्वत: पूर्ण ड्रॉपडाउन में प्रस्तुत करें)।
SeatGeek पर कार्रवाई में सोलमेट देखें।
यदि कुछ और नहीं है, तो शायद यह आपको कुछ तरीकों से बताएगा कि डेटा को कैसे समझ में आता है।
मैंने नहीं लिखा या आत्मा साथी के साथ कुछ भी नहीं किया है। यह एक ऐसी लाइब्रेरी है जिसे मैंने इसी तरह की समस्या को हल करने का प्रयास करते समय खोजा था। आशा करता हूँ की ये काम करेगा!
स्रोत
2011-03-06 01:04:05