Mysql
 sql >> база данни >  >> RDS >> Mysql

Как да направя търсене с акцент и без значение на главни и малки букви в базата данни на MediaWiki?

Разширението на 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 ) );
}

и (отново) стартирайте rebuildTitleKeys.php.

Разширението TitleKey съхранява своите нормализирани заглавия в отделна таблица , изненадващо наречен titlekey . Предназначен е за достъп през интерфейса за търсене на MediaWiki, но ако искате, със сигурност можете да го заявите и директно, напр. така:

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. МАЧИ СРЕЩУ с множество колони в MySQL

  2. PHP и MySQL:mysqli_num_rows() очаква параметър 1 да бъде mysqli_result, като е дадено булево

  3. Как мога да спра изпълняваща MySQL заявка?

  4. Как да получите всички данни от 2 таблици с помощта на външен ключ

  5. Как да направите инкрементално архивиране в Mysql