MediaWikiメモ

Last-modified: 2018-10-16 (火) 18:39:59 (27d)

MediaWiki?の簡易メモ。

環境

raspberry pi2にDBはSQLiteで導入してみた。

日本語検索機能改善

そのままでは日本語検索がまともに働かない。かといってelasticsearchは重すぎる。
というわけで、検索して見つけたbruteSearchをもとにBruteSqliteSearchをでっちあげてみた。
単純にLIKE句で全文検索しているだけだけど、小規模ならこれでも充分なはず。

参考

カテゴリの更新が働かない

どうもカテゴリを追加しても反映されないので、解決策を調べていたところ、原始的ながら手動でrebuildall.phpを実行すれば、とりあえず反映されることが分かった。

php maintenance/rebuildall.php

実行にはDBへの書き込み権限が必要なので、DBファイルにグループ書き込み許可して、作業ユーザをwww-dataグループに追加すると楽。

参考

Map拡張

どうやら地図の埋め込み拡張機能があるらしい。ただその前にcomposerとやらが必要?
Mediawikiディレクトリに移動して、ガイドの通りにインストールしてみた。 それからcomposer.local.jsonを作成(編集して)下のようにrequireセクションにmapsを追加。

{
   "require": {
       "mediawiki/maps": "^5.6"
   }
}

composerをupdateすると、extentionsディレクトリにMapsが追加されてる。

./composer.phar update

地図拡張の読み込み設定をLocalSetings?.phpに追加。

$GLOBALS['egMapsDefaultService'] = 'openlayers';
$GLOBALS['egMapsDefaultGeoService'] = 'google';

あとはwikiのページに下のように書けば、地図が表示される。

{{#display_map:東京都中野区|width=400|height=300}}

参考

本文取得SQL

もともとテンプレートにデータを入力して、それを加工して扱いたかったので、最新のテキストを取得するSQLを置いておく。SQLite用だけど、他のDBでも動くかな。

select page_title,old_text from page join revision on page_latest = rev_id join text on rev_text_id = old_id where page_namespace = 0; 

参考