Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

MySQL में मानव नामों को संग्रहीत करने की दुविधा को कैसे हल करें और भेदभाव और समान नामों की खोज दोनों रखें?

क्या उपयोगी है यदि आप पूरे नाम को घटक "नाम शब्द" में विघटित कर सकते हैं और उनमें से प्रत्येक के लिए एक ध्वन्यात्मक एन्कोडिंग (मेटाफ़ोन या कई अन्य विकल्पों में से एक) संग्रहीत कर सकते हैं। आपको केवल नाम शब्दों की धारणा की आवश्यकता है, विशेष रूप से इसे पहले या मध्य या अंतिम के रूप में वर्गीकृत नहीं करना, जो ठीक है क्योंकि वे श्रेणियां वैसे भी संस्कृतियों में अच्छी तरह से काम नहीं करती हैं)। लेकिन आप बाद में रैंकिंग में स्थितिगत क्रम की जानकारी का उपयोग कर सकते हैं यदि आप चाहते हैं कि "पॉल कार्ल" की खोज "कार्ल पॉल" से मेल खाने से बेहतर "पॉल कार्ल" से मेल खाती है। आपको अस्पष्ट विराम चिह्नों से अवगत होने की आवश्यकता है जिसके लिए कुछ नाम शब्दों के कई संस्करणों को संग्रहीत करने की आवश्यकता हो सकती है। उदाहरण के लिए ब्रे-अन्ना हेम को "ब्रे" "अन्ना" "ब्रेना" और "हेम" शब्दों में तोड़ा जाएगा। कभी-कभी डैश ब्रे-अन्ना की तरह अप्रासंगिक होता है, लेकिन कभी-कभी सैली-जून की तरह नहीं। ब्रे-अन्ना कभी भी ब्रे या अन्ना का उपयोग नहीं करता है, लेकिन सैली-जून कभी-कभी सैली या सिर्फ जून का उपयोग कर सकता है। यह जानना मुश्किल है कि कौन सा है, इसलिए दोनों संभावनाओं को कवर करें।

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

(संपादित करें) इसके लिए तर्क निम्नलिखित नाम जैसे मामलों को संभालना है:मारिया डे लॉस एंजिल्स गोमेज़-रोड्रिग्ज। एक डाटा एंट्री व्यक्ति सिर्फ मारिया गोमेज़ में प्रवेश कर सकता है। एक और मारिया गोमेज़ रोड्रिगेज में प्रवेश कर सकता है। एक और मारिया एंजिल्स रोड्रिगस में प्रवेश कर सकता है।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. एकल अद्यतन क्वेरी के लिए आवश्यक लेनदेन?

  2. JDBC कनेक्शन टाइमआउट फिर से कनेक्ट नहीं हो सकता

  3. जांचें कि पुरानी mysql_* API का उपयोग करके कोई पंक्ति मौजूद है या नहीं

  4. डीबी तालिका में पंक्ति कैसे पुनर्प्राप्त करें अभी जावा में जोड़ा गया है

  5. कार्यक्षेत्र 6.0 . में useLegacyAuth=1 सेट करना