問題

MediaWikiには、ページコンテンツを含むデータベース 'text'のテーブルがあります。 [BLOB]ファイルとして保存されます。 サイト上のすべてのテキストを検索して、特定の「文字列」を含むページを確認するクエリを実行したいと思います。 [blob]ファイルを検索するクエリを実行するにはどうすればよいですか?

  ベストアンサー

Mediawikiのマークアップテキストは、old_textフィールドに格納されます。これはmediumblob型です。他のテキストベースのフィールドのように照会できます。 MySQLは文字列をバイナリにキャストしてクエリを実行します。これはケース依存の検索であることに注意してください!

 select old_id from text where old_text like "%string%";
 

case-indinception が必要な場合は、適切な 文字セット をカラムに適用する必要があります。

 SELECT old_id from text where CONVERT(old_text USING latin1) like '%STRing%';
 

テーブルが小さくない場合は、これらのクエリに時間がかかることに注意してください。

  同じタグがついた質問を見る

mysqlsqlmediawiki