Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Bagaimana cara melakukan pencarian aksen dan case-insensitive di database MediaWiki?

MediaWiki Ekstensi TitleKey pada dasarnya dirancang untuk ini, tetapi hanya melakukan case-folding. Namun, jika Anda tidak keberatan meretasnya sedikit, dan memiliki PHP ekstensi iconv terinstal, Anda dapat mengedit TitleKey_body.php dan ganti metodenya:

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

dengan mis.:

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

dan (kembali)jalankan buildTitleKeys.php.

Ekstensi TitleKey menyimpan judul yang dinormalisasi dalam tabel terpisah , secara mengejutkan bernama titlekey . Ini dimaksudkan untuk diakses melalui antarmuka pencarian MediaWiki, tetapi jika Anda mau, Anda juga dapat menanyakannya secara langsung, mis. seperti ini:

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. Memasukkan data dari ujung depan ke mysql db di angularjs

  2. Apa cara terbaik untuk terhubung ke database Mysql di Delphi?

  3. Tidak dapat memuat plugin autentikasi 'caching_sha2_password'

  4. MySQL GROUP BY DateTime +/- 3 detik

  5. 5 Alat Pemantauan MySQL Teratas