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

MediaWiki डेटाबेस में एक उच्चारण और केस-असंवेदनशील खोज कैसे करें?

मीडियाविकि TitleKey एक्सटेंशन मूल रूप से इसके लिए डिज़ाइन किया गया है, लेकिन यह केवल केस-फोल्डिंग करता है। हालांकि, अगर आपको इसे हैक करने में कोई आपत्ति नहीं है, और आपके पास PHP iconv एक्सटेंशन है स्थापित, आप संपादित कर सकते हैं TitleKey_body.php और विधि बदलें:

static function normalize( $text ) {
    global $wgContLang;
    return $wgContLang->caseFold( $text );
}

उदाहरण के साथ:

static function normalize( $text ) {
    return strtoupper( iconv( 'UTF-8', 'US-ASCII//TRANSLIT', $text ) );
}

और (फिर से) फिर से बनाएंTitleKeys.php चलाएं।

टाइटलकी एक्सटेंशन अपने सामान्यीकृत शीर्षकों को अलग टेबल , आश्चर्यजनक रूप से नामित titlekey . इसका उद्देश्य मीडियाविकि खोज इंटरफ़ेस के माध्यम से एक्सेस करना है, लेकिन यदि आप चाहें, तो आप निश्चित रूप से इसे सीधे भी क्वेरी कर सकते हैं, उदा। इस तरह:

SELECT page.* FROM page
  JOIN titlekey ON tk_page = page_id
WHERE tk_namespace = 0 AND tk_key = 'SOMETHING';


  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. जहां MySQL में पंक्तियों को फ़िल्टर करने के लिए क्लॉज

  3. MySQL में फ़ोन नंबर के लिए सबसे अच्छा डेटा प्रकार कौन सा है और इसके लिए जावा टाइप मैपिंग क्या होनी चाहिए?

  4. Mysql में समानांतर लेनदेन

  5. नियमित तालिका से अस्थायी तालिका में अनुक्रमणिका पास करें?