FreyaSX の半自動インストールの手順を説明します。
必要なもの:
インストール手順:
cd $HOME
gzip -d < freyasx.tar.gz | tar xf -
cd freyasx
sh INSTALL.sh
以上で終りです。 所要時間は (1GHz PPC) iMac や (0.8GHz x86 位の) Linux上で
約5分です。
このスクリプトの終了時に、環境変数 FSXHOME と PATH の設定について案内があり
ますので、そのように設定して下さい。同時に案内されるように、"fhttpd" と入力
するとHTTPサーバとしてDeleGateが起動され、http://host:8880 でこの FreyaSX
のデータが検索できるようになります
[関連記事]。
http://host:8880/test に幾つかの利用例があります。
例えば、以下のようにしてメールボックスの索引を作ることができます。
any2fdif $HOME/Mail | findex mail
作られた索引は、http://host:8880/fsx/search?index=mail で
検索できます。
*1 上記 "freyasx.tar.gz" にはその時点の最新の版のFreyaSXとDeleGateおよび
インストーラが含まれています。
*2 どこでmakeしても構いませんが $HOME を推奨します。
*3 root などの特権ユーザでなく、一般ユーザの権限でインストールすることを推奨します。
*4 Windowsでインストールする場合には、
下記の手動インストールの手順で、
適宜 nmake -f Makefile.VC 等をして下さい。いずれ自動化したいと思います。
インストールの進行状況は以下のように表示されます。
% sh INSTALL.sh
////////////////////////////////////////////////////////////////////
FreyaSX installer
FreyaSX ver. 0.99.10
DeleGate ver. 8.9.6
September 18, 2004, Yutaka Sato
////////////////////////////////////////////////////////////////////
Detailed log is put into "INSTALL.log"
*** extracting FreyaSX-0.99.10 ...
*** making FreyaSX-0.99.10 ...
*** extracting DeleGate/8.9.6 ...
*** making DeleGate/8.9.6 ...
Installing to here: /tmp/test/freyasx
/tmp/test/freyasx/bin
/tmp/test/freyasx/etc
/tmp/test/freyasx/cgi-bin
/tmp/test/freyasx/bank
0) You can remove following unnecessary files:
---------------------------------------------------------------------
rm -r /tmp/test/freyasx/delegate8.9.6
rm -r /tmp/test/freyasx/freyasx-0.99.10
rm -r /tmp/test/freyasx/INSTALL.log
1) Complete the installation and setup your environmnet as follows:
---------------------------------------------------------------------
setenv FSXHOME /tmp/test/freyasx
set path=($FSXHOME/bin $path)
rehash
2) Then, you can test it as follows:
---------------------------------------------------------------------
findex sx
fsearch sx "freya*"
any2fdif -r $HOME/Mail | findex mail
3) Also you can start HTTP server for this FreyaSX and test it:
---------------------------------------------------------------------
fhttpd -P8880
... then open URL "http://this-host:8880/test" in your WWW browser
See http://www.delegate.org/freyasx/ for more details
////////////////////////////////////////////////////////////////////
FreyaSX の手動でのインストール手順と、簡単な使用例を説明します。
基本的には上記半自動インストールの場合の INSTALL.sh を手動で行うものです。
必要なもの:
手順のあらまし: (所要時間は 1GHz iMac 上で約5分です)
- FreyaSXの作成 (所要時間約1分30秒)
gzip -d < freyasx-0.99.8.tar.gz | tar xfv -
cd freyasx-0.99.8
make
- any2fdif / DeleGate の作成 (所要時間約3分)
gzip -d < delegate8.9.6-pre17.tar.gz | tar xfv -
cd delegate8.9.6-pre17
make
make any2fdif
ステップ1. FreyaSXの作成とテスト
説明を簡単にするために、以下、ホームディレクトリ直下で作成して、
そのまま使用します。
実際にはどこで展開してmakeして、make後にいつどこへ移動しても構いません。
(インストールや実際の利用にあたってrootユーザになる必要はありません)
- 1-0 % cd $HOME
- 1-1 % FreyaSX のソースをダウンロード
- ftp://ftp.delegate.org/pub/freyasx/freyasx-0.99.8.tar.gz
-
- 1-2 % gzip -d < freyasx-0.99.8.tar.gz | tar xfv -
-
これによって freyasx-0.99.8/ の下に、次のファイルが得られます。
freya/* | 拡張版Freyaのソースコード |
etc/icot.dic | 索引作成時に "findex" が使う辞書 |
cgi-bin/*.{html,url,cnv,gif} | CGI検索 "fsearch.cgi" 用のデータ |
SXwww/*.html | (テスト用) FreyaSXのホームページにあるドキュメント類 |
bank/sx/sx.fdif | (テスト用) 前処理済みデータの実例 (SXwwwの内容) |
- 1-3 % cd freyasx-0.99.8
- 1-4 % make
-
これによって以下の実行形式ファイルが作成されます。
bin/findex | 索引作成プログラム |
bin/fmerge | 索引併合プログラム |
bin/fsearch | 検索プログラム |
cgi-bin/fsearch.cgi | CGI検索プログラム |
- 1-5 % sh testsx
-
作成されたプログラムの動作テストを行います。
(このテストでは、"bin/findex" を使用して、索引を "bank/sx" に作成し、
そしてそれを "bin/fsearch" および "cgi-bin/fsearch.cgi" で検索します。
検索の結果3つのドキュメントがヒットすれば成功です (3 documents found
のように表示されます)。
このテスト用スクリプトは、FreyaSX の使い方の簡単な実例でもあります。)
- 1-6 % export FSXHOME=`pwd` または setenv FSXHOME `pwd`
-
環境変数 FSXHOME が、この(FreyaSXのルートとなる)ディレクトリを指す
ように設定します。
- 1-7 % ln -s $FSXHOME $HOME/freyasx
-
ホームディレクトリ下の freyasx を、このFreyaSXのルートディレクトリを
指す(シンボリック)リンクにします。FreyaSXの利用時に、FSXHOME環境変数が
このディレクトリを指しているなら、このリンクは無くても構いません。
これによってデフォルトの辞書および索引ファイルの置場にアクセスが可能に
なります。FreyaSX の索引作成および検索プログラムは、これらの索引置場や、
辞書(索引作成の場合)が、デフォルトで以下の場所にあることを想定しています。
$FSXHOME/bank/* | デフォルトの索引ファイル置場 |
$FSXHOME/etc/icot.dic | デフォルトの辞書(findexで使用) |
$FSXHOME/etc/JIS0208.TXT | Unicode変換テーブル(any2fdifで使用) |
- 1-8% ln -s $FSXHOME/cgi-bin $WWW/cgi-bin/fsearch
-
(ここで $WWW は、WWWサーバで公開されているデータのルートディレクトリを
指しているものとします)
これによりWWWサーバが、FreyaSXの検索用CGIスクリプトやHTMLテンプレート、
索引ファイルにアクセスできるようになります。(WWWサーバによっては何かの
追加的設定が必要かと思います。WWWサーバがDeleGateの場合には実際にこれ
だけでOKです)
これで、以下の URL に、WWW サーバからアクセスできるようになるでしょう。
- "http://localhost/cgi-bin/fsearch/testsx.html" -- 検索ページへのリンク例
- "http://localhost/cgi-bin/fsearch/fsearch.cgi"
ステップ2. DeleGate を用いて "any2fdif" を作成する
このステップでは、以下のファイルをインストールします。
$FSXHOME/bin/any2fdif | 索引作成前処理プログラム |
$FSXHOME/etc/JIS0202.TXT | Unicode と JISコードの変換テーブル |
any2fdif は 索引を作成する "findex" の前処理として、各種文字コードで各種
形式のテキストデータを、共通のコードの共通形式のテキストデータに変換します。
any2fdif は DeleGate をライブラリとして用いて実装されています。
また any2fdif の実行時に、Unicodeで記述されたテキストを処理する際には、
Unicode用の変換テーブルを必要としますが、これもDeleGate を用いてダウンロード
してインストールします。
- 2-0% cd $HOME
- 2-1% DeleGateのソースをダウンロード
-
ftp://ftp.delegate.org/pub/freyasx/delegate8.9.6-pre17.tar.gz
- 2-2% gzip -d < delegate8.9.6-pre17.tar.gz | tar xf -
- 2-3% cd delegate8.9.6-pre17
- 2-4% make
- 2-5% make any2fdif
- 2-6% cp -p fsx/any2fdif $FSXHOME/bin
- 2-7% src/delegated LIBDIR=$FSXHOME/etc -v CHARSET=UTF-8 -Fccx < /dev/null
-
Unicode 用変換テーブル (JIS0208.TXT) を Unicode.org から
http://www.delegate.org 経由でダウンロードして $FSXHOME/bin にインス
トールします.
もしインターネットに直接出られない(http://www.delegate.orgに直接接続
できない)場合には、PROXY="プロキシホスト:ポート番号" というオプションを
追加指定して下さい。
- 2-8% cd $FSXHOME; sh testsx init
Step3. FreyaSX のPATH環境変数の設定
ユーザ各自の使用するコマンドシェルに応じて環境変数の設定をして下さい。
% export FSXHOME=$HOME/freyasx
% export PATH="$FSXHOME/bin:$PATH"
または
% setenv FSXHOME $HOME/freyasx
% set path=($FSXHOME/bin $path)
FreyaSX が $HOME/freyasx 以外の場所にインストールされた場合(かつリンクも
されていない場合)にも、その場所を上記のように環境変数 FSXHOME で指定す
れば、それでデフォルトのディレクトリ位置が認識されます。
Step4. 使ってみる
テスト用のスクリプト "testsx" と同じことを手動で実行してみます。
1) "SXwww"というディレクトリの下にある、索引に取り込みたいファイルの
リストを作って、"sxlist" というファイルに書き込む。
% find SXwww -type f -name "*html" -print > sxlist
2) "sx"という名前の索引を "sxlist" というファイル中のファイルリストに従って作成する。
% any2fdif -v -s SXwww/ -p http://www.delegate.org/freyasx/ -b sx -f sxlist
"sxlist" 中に列挙されているファイル名は "SXwww/doc/memo1-ja.html"
のような形式であるが、これは先頭の "SXwww/"という文字列を削除し (-s SXwww/)、
"http://www.delegate.org/freyasx/"という文字列を前置する
(-p http://www.delegate.org/freyasx/) ことで、実際に対応するURLに変換される
(検索時に表示される)。
索引を構成するファイル群は $FSXHOME/bank/sx/ の下に置かれる。
ここでは、検索や表示のための元情報を含んだ、"sx.fdif", "sx.dsc", "sx.sum"
および "sx+atime.srt" の各ファイルが作られる。)
3) 検索のための索引ファイルを $FSXHOME/bank/sx/ の下に作る。
% findex -b sx
"sx.lex", "sx.idx", "sx.map", "sx.dsc", "sx.ctx", "sx.num"
の各ファイルが作られる。
4) 索引 "sx" の中で "harada" という語を含む文書を検索する。
5) CGIインターフェイスにより、索引 "sx" の中で "harada" を検索する。
% export REQUEST_METHOD=GET
% export QUERY_STRING='index=sx&key=harada'
% cd cgi-bin
% ./fsearch.cgi