メインコンテンツに移動
ホーム
Let's POSTGRES

メインナビゲーション

  • ホーム
  • 目的別ガイド
  • 読み物
  • 動画で学ぶ

パンくず

  1. ホーム
  2. 読み物
  3. 入門向けの記事
  4. PostgreSQL上にMediaWiki環境を構築

PostgreSQL上にMediaWiki環境を構築 (2)

PostgreSQL のインストールに続き、MediaWiki の設定をします。日本語のページを検索できるようにするため、textsearch-ja を追加します。

MediaWiki の初期設定

ブラウザで http://localhost:8080/mediaWiki/ へアクセスすると MediaWiki のページが表示されるはずです (図3)。"set up the wiki" をクリックして初期設定をしましょう。必要な項目は予め設定されているので、以下の項目を設定するだけで基本的な設定は完了します。

  • Wiki name
  • Contact e-mail
  • Language (「ja - 日本語」へ変更する)
  • Wiki 管理ユーザのパスワード

MediaWiki 初期設定

図3 : MediaWiki 初期設定

緑色の文字で "Installation successful!" と表示されたらインストールは成功です。その後 config/LocalSettings.php を移動するように指示されるので、「C:\Program Files\PostgreSQL\EnterpriseDB-ApachePhp\apache\www\mediaWiki\config」にある LocalSettings.php を1つ上のフォルダへ移動します。

その後、再度 http://localhost:8080/mediaWiki/ へアクセスすると、「メインページ」が表示されるはずです。これで MediaWiki を使えるようになりました。ただし、まだページを作成するのは待ってください!

あれ?日本語で検索ができない!

メインページには「使い方」という単語が見えます。しかし、検索ボックスに「使い方」と入力して検索してもページが見つかりません (図4)。検索機能がうまく動作していないようです。原因は全文検索の初期設定が「英語用」になっているためです。これを「日本語用」に変更する必要があります。

MediaWiki 検索ミス

図4 : MediaWiki 検索ミス

PostgreSQL 8.3 では全文検索機能 (旧 tsearch2) が本体に組み込まれました。MediaWiki でもこの全文検索を使っています。全文検索の設定として英語やヨーロッパ系の20以上の言語が予め用意されているのですが、残念ながら日本語用の設定はありません。「単語がスペースで区切られていない」言語には対応していないのです。そこで、拡張モジュールとして公開されている textsearch-ja を導入して日本語で検索できるようにしてみます。

日本語全文検索の設定

日本語で全文検索するには以下のモジュールが必要です。

  • textsearch-ja : http://textsearch-ja.projects.postgresql.org/index-ja.html
    • textsearch_ja-win32-8.4.0.zip を使用します。
  • MeCab : http://mecab.sourceforge.net/
    • mecab-win32 の mecab-0.97.exe を使用します。

textsearch-ja は PostgreSQL の組み込み全文検索の拡張モジュールで、日本語文字列を検索できるようにします。そのためには文を解析して単語に分割する必要があり、そこで MeCab ライブラリによる形態素解析を利用しています。

まず最初に MeCab をインストールします。Binary package for MS-Windows 「mecab-0.97.exe」をダウンロードしましょう。バージョン 0.97 より、Windows 版のインストーラの中で辞書の文字コードが選択できるようになりました。ここで必ず PostgreSQL のサーバエンコーディングと同じ UTF-8 を選んでください(図5)。

MeCab encoding

図5 : MeCab の辞書エンコーディング選択

次に、MeCabのライブラリ (libmecab.dll) に対してWindowsのDLL検索パスを通します。以下の手順のどちらかを行ってください。

  • 「C:\Program Files\MeCab\bin\libmecab.dll」を「C:\Windows\System32」にコピーする
  • 「C:\Program Files\MeCab\bin」を環境変数PATHに追加する

その後、textsearch-ja をインストールします。zip 書庫を展開すると現れる 8.3 フォルダの下の lib と contrib フォルダを「C:\Program Files\PostgreSQL\8.3」へコピー(マージ)します。その後、mediawiki データベースへ登録するため、「スタートメニュー > PostgreSQL 8.3 > コマンド・プロンプト」を起動し、以下を実行してください。

(実際には改行せずに1行で入力します)
C:\Program Files\PostgreSQL\8.3\bin> psql -d mediawiki -U postgres
 -f "C:\Program Files\PostgreSQL\8.3\share\contrib\textsearch_ja.sql"

次に、PostgreSQL の設定ファイルを変更して、デフォルトの全文検索設定として「日本語」が使われるようにします。「C:\Program Files\PostgreSQL\8.3\data\postgresql.conf」の以下の箇所を変更します。

default_text_search_config = 'pg_catalog.english'
 ↓
default_text_search_config = 'pg_catalog.japanese'

これで設定は完了しました。設定ファイルをリロードして変更を反映させます。pg_ctl reload または スタートメニューから「構成をリロード」を実行します。

再度 MediaWiki で日本語ページを検索する

ブラウザで MediaWiki のメインページを開き、インデックスを更新するため、一度「編集」して少し書き換えます(スペースや改行の追加/削除などなんでも構いません)。その後、再び検索ボックスに日本語を入力して検索すると……今度は成功しました! (図6)

最初は MeCab が辞書をディスクから読み込むため検索に少し時間がかかりますが、いったん辞書がメモリ上にキャッシュされてしまえば、後はスムーズに検索できるようになると思います。

MediaWiki 検索

図6 : MediaWiki での日本語検索


これで MediaWiki を使用する準備が整いました。

ブック横断リンク: PostgreSQL上にMediaWiki環境を構築 (2)

  • PostgreSQL上にMediaWiki環境を構築
  • 上へ
  • PostgreSQL上にMediaWiki環境を構築 (3)

フッター

  • ホーム
  • 目的別ガイド
    • 導入検討
    • インストール
    • 運用管理
    • チューニング
    • サポート
    • 内部解析
  • 読み物
    • 入門記事
    • 技術的記事
    • 事例紹介
    • イベントレポート
    • リンク集
    • インタビュー
  • 動画で学ぶ
  • コンタクト

ブックナビゲーション

  • 入門向けの記事
    • OSS の開発コミュニティってどんなところ?
    • PostgreSQL が私に与えてくれたもの
    • PostgreSQL 超入門 第1回
    • これを読めば PostgreSQL の全てが分かる!PostgreSQL ガイドブック
    • サンフランシスコのPostgreSQL事情
    • PostgreSQL上にMediaWiki環境を構築
      • PostgreSQL上にMediaWiki環境を構築 (2)
      • PostgreSQL上にMediaWiki環境を構築 (3)
    • キャストを追加してバージョン互換性を保つには
    • HOTの活用
    • PostgreSQLでXMLを処理してみよう!
    • CentOS で PostgreSQL を使ってみよう!
    • Mac OS X で PostgreSQL を使ってみよう
    • RPMで複数バージョンのPostgreSQLをインストールしてみよう
    • UbuntuでPostgreSQLを使ってみよう
    • WindowsでPostgreSQLを使ってみよう
    • yumでPostgreSQLをインストールしてみよう
    • PostgreSQLの機能と他のRDBMSの比較
    • psqlを使ってみよう
    • PostgreSQLのトラブルシュートとチューニング
    • PostgreSQLの導入と初期設定
    • PostgreSQLの利用動向レポート
    • PHPでPostgreSQLを使ってみよう
    • PostGISを使ってみよう
    • PostgreSQLの開発プロセス
    • 現場で役立つ実践ノウハウWeb開発の「べし」「べからず」
    • gihyo.jp & Let's Postgres 連動企画 今こそ!PostgreSQL
    • PostgreSQL日本語マニュアルについて
  • 技術的な記事
  • 事例紹介
  • イベントレポート
  • リンク集
  • インタビュー
RSS feed

最近追加されたページ

  • PostgreSQL17の新機能
  • PostgreSQL16の新機能
  • PostgreSQL15の新機能
  • PostgreSQL14の新機能
  • 外部データとの連携 ~FDWで様々なデータソースとつなぐ~

ページ送り

  • 1
  • 次ページ