pgestraier インストール
移転しました。
pgestraierのインストールについて記載する。
pgestraierは
PostgreSQLからノードサーバを操作するインターフェイスである。
ようは、postgresの文字列検索にHyper Estraierを使えるようにするというもの(たぶん)。
本家
http://pgestraier.projects.postgresql.org/
本記載はDebian4、DBはPostgresql8.2.5上で行った。
PostgreSQL8インストール
pgestraierインストール
HyperEstrierのサービスを開始しておく。
HyperEstraierのindexや対応Trigerを作成するために、pgestraierのPerlが使用。
# estmaster init /usr/local/hyperestraier # estmaster start -bg /usr/local/hyperestraier * -bg バックグラウンド起動
sudoをpostgresユーザーで使うため使えるよう設定する >|| # visudo ----- postgres ALL=(ALL) ALL -----
Perl用Estraierのソースをダウンロード
# su - postgres $ apt-get install pkg-config ← 必要?? $ cpan Search::Estraier
tarボールが発見できなかったため、cvsから直接ダウンロードする
$ apt-get install cvs $ cvs -d :pserver:anonymous@cvs.pgfoundry.org:/cvsroot/pgestraier checkout pgestraier $ cd pgestraier $ sudo make install
postgres用にplファイル修正(初期はMySQL用になっているため)
vi bin/pgest-index.pl ----- $c->{dbi} = 'Pg:dbname=' . $dbname; -----
DB、テーブルを用意する
$ createdb content -E UTF8 $ psql content create table geoaddr( id serial primary key, addr_name varchar(256) UNIQUE );
INDEX作成
$ ./bin/pgest-index.pl content --create geoaddr \ --sql="select id,addr_name from geoaddr" there are 0 triggers instead of just 3, dropping all using primary key id indexing existing 17996 rows created consistency triggers -- example SQL search query: SELECT id, addr_name FROM pgest( -- node, login, passwd, depth 'http://localhost:1978/node/geoaddr', 'admin', 'admin', 0, -- full text search '1', -- attribute filter, order, limit, offset null, null, null, null, -- return columns array['id', 'addr_name'] ) as (id text, addr_name text);