Ludia インストール
移転しました。
pgestraier で思ったより速度がでなかったためLudiaを試してみる。
必要なソフトウェアの入手
Ludiaが必要とするソフトウェアを下記のURLから入手してインストールする必要があります。
* PosgreSQL : http://www.postgresql.org/
* Senna : http://qwik.jp/senna/FrontPageJ.html
* MeCab : http://mecab.sourceforge.jp/
Mecab インストール
$ wget http://globalbase.dl.sourceforge.jp/ludia/27667/ludia-withdeps-1.3.1.tar.gz $ tar zxvf ludia-withdeps-1.3.1.tar.gz $ cd ludia-1.3.1/deps $ tar zxvf mecab-0.96.tar.gz $ cd mecab-0.96 $ ./configure --with-charset=utf8 && make $ su # make install # ldconfig # exit $ cd ludia-1.3.1/deps $ tar xvzf mecab-ipadic-2.7.0-20060707.tar.gz $ cd mecab-ipadic-2.7.0-20060707 $ ./configure --with-charset=utf8 && make $ su # make install # ldconfig # mecab ← 動作確認
Senna インストール
$ wget http://osdn.dl.sourceforge.jp/senna/27317/senna-1.0.9.tar.gz $ tar zxvf senna-1.0.9.tar.gz $ cd senna-1.0.9 $ ./configure $ make $ su # make install
Ludia インストール
$ wget http://keihanna.dl.sourceforge.jp/ludia/27666/ludia-1.3.1.tar.gz $ tar zxvf ludia-1.3.1.tar.gz $ cd ludia-1.3.1 $ ./configure $ make $ su # make install # ldconfig
DB準備
$ initdb -D data --encoding=UNICODE --no-locale $ vi data/postgresql.conf ----- custom_variable_classes = 'ludia' ludia.max_n_sort_result = 100000 ludia.enable_seqscan = on ludia.sen_index_flags = 31 ----- $ pg_ctl -D data -l postmaster.log start $ createdb -E UTF8 testgis
Senna設定
$ psql -f /usr/local/pgsql/share/pgsenna2.sql testgis
テストテーブル作成
create table geoaddr( id serial primary key, addr_name varchar(256) UNIQUE );
その後データ挿入し、以下のように上記で作成したDBにINDEXを作成する。
CREATE INDEX addrindex ON geoaddr USING fulltextb((addr_name::text)); ## fulltextb : 正規化 + 2-gram (SEN_INDEX_NORMALIZE|SEN_INDEX_NGRAM)