LoginSignup
11
11

More than 5 years have passed since last update.

PostgreSqlで全文検索が一発でできるVagrantfileを作ってみた

Last updated at Posted at 2015-01-24

使い方

できるようになること

  • postgresqlでmecabを使った日本語全文検索

ソース

  • Vagrantfile
  • build.sh(このスクリプトで環境を作る)
  • config(コマンドラインからファイルの特定の部分を編集してもいいかもしれませんが、面倒だったので最低限必要なファイルを置いてます)

Vagrantfileの内容

※必要に応じて編集してください

build.shの内容をざっくりと

  • postgresql9.3,java,rubyをインストール
  • config内のファイルを使ってiptableとpostgresqlの設定
  • postgresqlのユーザ,DBを作成
    user: testuser, pass:testuser, スーパーユーザー,ロール作成、ログイン,DB作成権限
    db: testdb, オーナー:testuser, 文字コード:UTF8
  • 環境変数にpostgresqlを追加
  • mecab-0.996, 辞書, textsearch-jaをインストール(ここで結構詰まりました、下に詰まった部分をメモっています)
  • 全文検索のテストコマンド実行

postgresql, mecabの環境構築で詰まったことメモ

  • language "C" does not exist

postgresql9.1?辺りから、pg_languageテーブルにあるCのlannameが C > c に変わっているみたいです。
なので、sql文の該当する部分を全置換してます。
sed -i "s/'C'/'c'/g" /usr/local/postgresql-9.3.5/contrib/textsearch_ja-9.0.0/textsearch_ja.sql

  • checking for mecab-config... no

mecabのインストールが成功して、ssh接続してから同じコマンドを実行すると成功するのですが、build.sh内に記述すると怒られる。。
なのでオプションで対応しました。
--with-mecab-config=/usr/local/bin/mecab-config

  • libmecab.so.2: cannot open shared object file

共有ライブラリがシステムに認識されていないので、追記してリロード
echo '/usr/local/lib' >> /etc/ld.so.conf #追記
ldconfig #リロード

参考にしたページ

11
11
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
11
11