मैं उस क्षेत्र में नया हूं और मुझे आश्चर्य है कि अत्याधुनिक क्या है और जहां मैं इसके बारे में पढ़ सकता हूं।बड़े डेटा में अस्पष्ट खोज कैसे करें
मान लीजिए कि मेरे पास सिर्फ एक कुंजी/मूल्य स्टोर है और मेरे पास कुछ दूरी (key1, key2) परिभाषित है (सुनिश्चित नहीं है कि यह एक मीट्रिक होना चाहिए, यानी यदि त्रिभुज असमानता हमेशा पकड़नी चाहिए)।
जो मैं चाहता हूं वह ज्यादातर एक खोज (कुंजी) फ़ंक्शन है जो मुझे खोज-कुंजी के लिए एक निश्चित दूरी तक कुंजी के साथ सभी आइटम देता है। शायद दूरी सीमा सीमित है। शायद यह भी एक आलसी इटरेटर है। हो सकता है कि एक गिनती सीमा भी हो और एक वस्तु (कुंजी, मान) कुछ संभाव्यता पी के साथ वापस सेट में हो जहां पी = 1/दूरी (कुंजी, खोज-कुंजी) या तो (यानी, सही मिलान निश्चित रूप से होगा उच्च संभावना के साथ कम से कम सेट और करीबी मैचों में)।
एक उदाहरण एप्लिकेशन MusicBrainz में फिंगरप्रिंट मिलान है। वे AcoustId फिंगरप्रिंट का उपयोग करते हैं और this compare function परिभाषित करते हैं। वे PostgreSQL जीआईएन इंडेक्स का उपयोग करते हैं और मुझे लगता है (हालांकि मैंने ध्वनिक-सर्वर कोड को पूरी तरह से समझ/पढ़ा नहीं है) GIN Partial Match Algorithm लेकिन मैंने गीलेर को पूरी तरह से समझ नहीं लिया है जो मैंने पूछा और यह कैसे काम करता है।
पाठ के लिए, क्या मैं अब तक पाया है कुछ phonetic algorithm उपयोग करने के लिए उनके उच्चारण के आधार पर शब्दों को आसान बनाने के लिए है। एक उदाहरण here है। यह ज्यादातर खोज स्थान को एक छोटी जगह पर तोड़ने के लिए है। हालांकि, इसमें कई सीमाएं हैं, उदा। यह अभी भी छोटी जगह में एक आदर्श मैच होना चाहिए।
लेकिन वैसे भी, यदि मैं मौजूद हूं, तो मैं एक और सामान्य समाधान भी खोज रहा हूं।
नहीं पूरा जवाब है, लेकिन है देखो (http://en.wikipedia.org/wiki/Vp-tree और http: // stevehanov .ca/ब्लॉग/index.php? id = 130)। वे मीट्रिक रिक्त स्थान में तेज़ प्रश्नों की अनुमति देते हैं। –