sql >> Databáze >  >> RDS >> Mysql

Jak provádět vyhledávání s přízvukem a bez rozlišování velkých a malých písmen v databázi MediaWiki?

MediaWiki rozšíření TitleKey je k tomu v podstatě určen, ale dělá pouze skládání kufrů. Pokud vám však nevadí to trochu hacknout a máte rozšíření PHP iconv nainstalován, můžete upravit TitleKey_názvu.php a nahraďte metodu:

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

s např.:

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

a (znovu) spusťte rebuildTitleKeys.php.

Rozšíření TitleKey ukládá své normalizované názvy do samostatná tabulka , překvapivě pojmenovaný titlekey . Je určen pro přístup přes vyhledávací rozhraní MediaWiki, ale pokud chcete, můžete se na něj určitě také přímo zeptat, např. takhle:

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


  1. Odstraňte obrovské množství dat z velké tabulky

  2. jak udělat sdružování připojení v Javě?

  3. Jak získat aktuální objekt Connection v Spring JDBC

  4. Vkládání položek do rozbalovací nabídky bootstrap z tabulky SQL