http://www.crimson-snow.net/hmsvr/bsd/memo/estraier.html

全文検索システム「Estraier」の導入

全文検索システムとしては「Namazu」が有名であるが、その他にもいくつかあり、ここでは「Namazu」にも劣らない「Estraier」を導入する。 また、分かち書きには「ChaSen」を利用する。

ここでは

/usr/local/www/apache22/data/

以下のすべてを検索対象ディレクトリとし、転置インデックスを

/usr/local/www/apache22/data/estraier/

に作成するものとする。 なお、「Apache」の設定は完了済みとする。#contents

http://www.crimson-snow.net/hmsvr/bsd/memo/estraier.html

全文検索システム「Estraier」の導入

全文検索システムとしては「Namazu」が有名であるが、その他にもいくつかあり、ここでは「Namazu」にも劣らない「Estraier」を導入する。 また、分かち書きには「ChaSen」を利用する。

ここでは

/usr/local/www/apache22/data/

以下のすべてを検索対象ディレクトリとし、転置インデックスを

/usr/local/www/apache22/data/estraier/

に作成するものとする。 なお、「Apache」の設定は完了済みとする。

「Estraier」のインストール

ChaSen」のインストール

まず分かち書きに利用する「ChaSen」をインストールする。

piano:root {97} % portinstall japanese/chasen

「Estraier」のインストール

piano:root {86} % portinstall textproc/estraier

以下をチェックする

[X] CHASEN  Japanese Morphological Analysis Support

「Estraier」の実行

転置インデックス格納先ディレクトリの作成

FreeBSD# mkdir /usr/local/www/apache22/data/estraier

「Estraier」の新規実行

「Estraier」を新規に実行する場合は以下のようにする。

FreeBSD# estindex register /usr/local/www/apache22/data/estraier/est_index /usr/local/www/apache22/data <= 転置インデックスの作成

piano:root {87} % estindex register /usr/local/www/apache22/data/estraier/est_index /usr/local/www/apache22/data

FreeBSD# estindex relate /usr/local/www/apache22/data/estraier/est_index <= 転置インデックスに関連文書検索用のスコア情報を追加

「Estraier」の実行

ページに更新があった後、「Estraier」を実行する場合は以下のようにする。

FreeBSD# estindex purge /usr/local/www/apache22/data/estraier/est_index <= サイトから削除された文書を転置インデックスからも削除
FreeBSD# estindex register /usr/local/www/apache22/data/estraier/est_index /usr/local/www/data <= 転置インデックスの作成
FreeBSD# estindex optimize /usr/local/www/apache22/data/estraier/est_index <= 転置インデックスの更新で生じた不要な情報を削除
FreeBSD# estindex relate /usr/local/www/apache22/data/estraier/est_index <= 転置インデックスに関連文書検索用のスコア情報を追加

「Estraier」の設置

設定ファイル等格納先ディレクトリの作成

FreeBSD# mkdir /usr/local/www/apache22/cgi-bin/estraier

各種ファイルのコピー

FreeBSD# cp /usr/local/libexec/estsearch.cgi /usr/local/www/apache22/cgi-bin/estraier/
FreeBSD# cp /usr/local/share/estraier/locale/ja/estsearch.conf /usr/local/www/apache22/cgi-bin/estraier/
FreeBSD# cp /usr/local/share/estraier/locale/ja/estsearch.tmpl /usr/local/www/apache22/cgi-bin/estraier/
FreeBSD# cp /usr/local/share/estraier/locale/ja/estsearch.top /usr/local/www/apache22/cgi-bin/estraier/

「Estraier」の設定

FreeBSD# vi /usr/local/www/apache22/cgi-bin/estraier/estsearch.conf <= 設定ファイルの編集
indexname: casket
↓
indexname: /usr/local/www/apache22/data/estraier/est_index <= 転置インデックスを指定

prefix: ./
↓
#prefix: ./ <= コメントアウト

replace:
↓
replace: /usr/local/www/apache22/data/ http://piano.smb.net/
replace: /usr/local/www/apache22/data/ http://www.est_index.net/ <= 検索対象ディレクトリの置換

ブラウザで

http://piano.smb.net/cgi-bin/estraier/estsearch.cgi

とアクセスする。

サイト内に設置する場合

サイト内に検索用のFORMを設置する場合、設置したい場所に以下の内容を記述。

<FORM method="get" action="/cgi-bin/estraier/estsearch.cgi">
 <DIV>
   <INPUT type="text" name="phrase" value="" size="64" tabindex="1" />
   <INPUT type="submit" value="Search" tabindex="2" />
   <INPUT type="hidden" name="enc" value="EUC-JP" />
 </DIV>
</FORM>

転置インデックスの自動作成&不要データ削除

FreeBSD# vi /root/estraier.sh <= 転置インデックスの自動作成&不要データ削除スクリプト作成
#!/bin/sh

ESTINDEX='/usr/local/bin/estindex'

$ESTINDEX purge /usr/local/www/apache22/data/estraier/est_index > /dev/null 2>&1
$ESTINDEX register /usr/local/www/apache22/data/estraier/est_index /usr/local/www/data /dev/null 2>&1
$ESTINDEX optimize /usr/local/www/apache22/data/estraier/est_index > /dev/null 2>&1
$ESTINDEX relate /usr/local/www/apache22/data/estraier/est_index > /dev/null 2>&1

スクリプトの自動実行

FreeBSD# vi /etc/crontab <= cronの編集
00 03 * * * root /root/estraier.sh <= 追加(毎日3:00にスクリプト実行)

「Estraier」のインストール

ChaSen」のインストール

まず分かち書きに利用する「ChaSen」をインストールする。

piano:root {97} % portinstall japanese/chasen

「Estraier」のインストール

piano:root {86} % portinstall textproc/estraier

以下をチェックする

[X] CHASEN  Japanese Morphological Analysis Support

「Estraier」の実行

転置インデックス格納先ディレクトリの作成

FreeBSD# mkdir /usr/local/www/apache22/data/estraier

「Estraier」の新規実行

「Estraier」を新規に実行する場合は以下のようにする。

FreeBSD# estindex register /usr/local/www/apache22/data/estraier/est_index /usr/local/www/data <= 転置インデックスの作成

piano:root {87} % estindex register /usr/local/www/apache22/data/estraier/est_index /usr/local/www/data

FreeBSD# estindex relate /usr/local/www/apache22/data/estraier/est_index <= 転置インデックスに関連文書検索用のスコア情報を追加

「Estraier」の実行

ページに更新があった後、「Estraier」を実行する場合は以下のようにする。

FreeBSD# estindex purge /usr/local/www/apache22/data/estraier/est_index <= サイトから削除された文書を転置インデックスからも削除
FreeBSD# estindex register /usr/local/www/apache22/data/estraier/est_index /usr/local/www/data <= 転置インデックスの作成
FreeBSD# estindex optimize /usr/local/www/apache22/data/estraier/est_index <= 転置インデックスの更新で生じた不要な情報を削除
FreeBSD# estindex relate /usr/local/www/apache22/data/estraier/est_index <= 転置インデックスに関連文書検索用のスコア情報を追加

「Estraier」の設置

設定ファイル等格納先ディレクトリの作成

FreeBSD# mkdir /usr/local/www/apache22/cgi-bin/estraier

各種ファイルのコピー

FreeBSD# cp /usr/local/libexec/estsearch.cgi /usr/local/www/apache22/cgi-bin/estraier/
FreeBSD# cp /usr/local/share/estraier/locale/ja/estsearch.conf /usr/local/www/apache22/cgi-bin/estraier/
FreeBSD# cp /usr/local/share/estraier/locale/ja/estsearch.tmpl /usr/local/www/apache22/cgi-bin/estraier/
FreeBSD# cp /usr/local/share/estraier/locale/ja/estsearch.top /usr/local/www/apache22/cgi-bin/estraier/

「Estraier」の設定

FreeBSD# vi /usr/local/www/apache22/cgi-bin/estraier/estsearch.conf <= 設定ファイルの編集
indexname: casket
↓
indexname: /usr/local/www/apache22/data/estraier/est_index <= 転置インデックスを指定

prefix: ./
↓
#prefix: ./ <= コメントアウト

replace:
↓
replace: /usr/local/www/apache22/data/ http://piano.smb.net/
replace: /usr/local/www/apache22/data/ http://www.est_index.net/ <= 検索対象ディレクトリの置換

ブラウザで

http://piano.smb.net/cgi-bin/estraier/estsearch.cgi

とアクセスする。

サイト内に設置する場合

サイト内に検索用のFORMを設置する場合、設置したい場所に以下の内容を記述。

<FORM method="get" action="/cgi-bin/estraier/estsearch.cgi">
 <DIV>
   <INPUT type="text" name="phrase" value="" size="64" tabindex="1" />
   <INPUT type="submit" value="Search" tabindex="2" />
   <INPUT type="hidden" name="enc" value="EUC-JP" />
 </DIV>
</FORM>

転置インデックスの自動作成&不要データ削除

FreeBSD# vi /root/estraier.sh <= 転置インデックスの自動作成&不要データ削除スクリプト作成
#!/bin/sh

ESTINDEX='/usr/local/bin/estindex'

$ESTINDEX purge /usr/local/www/apache22/data/estraier/est_index > /dev/null 2>&1
$ESTINDEX register /usr/local/www/apache22/data/estraier/est_index /usr/local/www/data /dev/null 2>&1
$ESTINDEX optimize /usr/local/www/apache22/data/estraier/est_index > /dev/null 2>&1
$ESTINDEX relate /usr/local/www/apache22/data/estraier/est_index > /dev/null 2>&1

スクリプトの自動実行

FreeBSD# vi /etc/crontab <= cronの編集
00 03 * * * root /root/estraier.sh <= 追加(毎日3:00にスクリプト実行)


トップ   編集 凍結解除 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2009-06-15 (月) 13:59:31