全文検索の MitakeSearch 導入実験記

| コメント(0)

更新日: 2005/09/15
HP社の MitakeSearch がバージョンアップされ、データベース登録数が制限されていますが FreeVersion (中身は有料と同じもの)が公開されています。RPM パッケージとなっていますが、Debian Linux にインストールしてみましたので経験事例として公開します。少しでも参考になれば幸いです。

See: 製品紹介ページ

MitakeSearchとは

MitakeSearch(ミタケサーチ)は、日本ヒューレット・パッカードが開発・販売しているインターネット、イントラネットで使用可能な全文検索システムです。日本でソースコードの一行目から開発した完全日本語対応のソフトウェアで、 1997年のV1.0リリース以来各分野で使われています。豊富な実績を持つ日本語全文検索ソフトウェア製品です。(HPより)

システム要件
* Intel Base で rpm コマンドが使える Linux システム
* 256MB以上のシステム・メモリー
* 60MB以上の空きディスク容量
* perl 5.6 以上
* HTTP サーバー

前提と準備
1. 製品紹介ページからソフトウェアやマニュアルをダウンロードし、ソフトウェアを /tmp に保存します。
2. Debianで rpm パッケージのインストールには alien (もしかして、有りえん!とでも読むのかな?)が必要です。事前にaptget でインストールしておきます。
3. # alien -d /tmp/MitakeSearch-4.2-1.i386.rpm を実行すると、/root/MitakeSearch_4.2-2.i386.deb が作成されましたので、/tmp へ移動しました。(始めに、赤字の部分を付けないで実行しましたので、付けたらどこに作成されるかは未確認です)

インストール
1. Webmin(個人的には便利に使わせて頂いています) を使用してインストールします。

[system] - [ Software Package] の Install a New Package セクションで ◎ From local file の入力欄に /tmp/MitakeSearch_4.2-2.i386.deb をいれ、 [Install] ボタンをクリックします。
/home/MitakeSearch/下にファイルを展開してくれます。

2. rpmでインストールする場合は、自動的にセットアップ・スクリプトが動くはずですが、 Debian では代わりにコマンドを入力してセットアップしました。
# /home/MitakeSearch/mitake400/tools/mitake-setup.sh
-> セットアップが実行されます。

3. コマンドラインから次ぎを入力して、ライセンス番号を入力します。(Free Version は改行キーのみ)
# /home/MitakeSearch/tools/mitake-version.pl

インストール後の作業
1. /home/MitakeSearch/のOwnershipを確認し、必要に応じてhttpd.confで指定した webユーザーに変更します
# chown www-data:www-data 755 /home/MitakeSearch (当サーバーの例)

2. CGI プログラムを該当の HTTP サーバー(バーチャル・サーバーを含む)の/cgi-bin/ へコピーします。
# mkdir /home/cgi-bin/mitake
# mkdir /home/cgi-bin/mitake/admin
# cp /home/MitakeSearch/mitake400/cgi/cgi-bin/* /home/cgi-bin/mitake
# chown www-data:www-data 755 /home/cgi-bin/mitake

3. icons をコピーします。
# mkdir /var/www/icons
# cp /home/MitakeSearch/mitake400/cgi/icons/* /var/www/icons
# chown www-data:www-data 755 /var/www/icons

4. httpd.conf の MIMETYPE を確認します。
image/gif -> .gif
image/jpeg -> .jpg or jpeg
image/png -> .png
image/bmp -> .bmp

5. 次のディレクトリーは容量が必要です。確認し、足りない場合には別に作成しエイリアス・リンクを作成します。
/home/MitakeSearch/schedule/
/home/MitakeSearch/dbfiles/
/home/MitakeSearch/logs/

6. 確認
http://192.168.0.195/cgi-bin/mitake/mitake.pl (当サーバーの例)
検索用画面が表示されたら、お終い!

管理用CGIのセットアップ
1. 管理用 CGI をセットアップします。
# cp /home/MitakeSearch/mitake400/cgi/admin/admin.pl /home/cgi-bin/mitake/admin/s2.pl (ファイル名を変更します)

2. /home/cgi-bin/mitake/admin/.htaccess を作成し、パスワードを指定する
3. スケジューラー2デーモンの起動
# /home/MitakeSearch/sbin/mi-schedule2 & を実行します

4. System ReBoot時に自動起動させるために登録する
検索サービスの作成
検索の対象となる文書のインデクシングを設定します。
サービスとは、いくつかのインデクシングとスケジュールのまとまったものを言います。
また、検索対象の文書が更新されるとインデクシングも更新する必要がありますので、インデクシングと更新スケジュールを定期的に行う必要があります。

1. http://192.168.0.195/admin/s2.pl へアクセスします (当サーバーの例)

Mitake管理画面-メインメニューにNo Services と表示がでますので、+ サブメニューをクリックしてサブメニューを表示させます

2. 「新規サービス作成」メニューをクリックします
3. 「Mitake管理 - サービス作成」が開きます
サービス名(ASCII) --> SiteSearch
サービス名 --> サイト検索サービス
ディスクリブション --> 無記入
ホスト --> iwanari
ポート番号 --> 3001(適当に付けました)
メモリーサイズ --> small
スレッド数 --> 1
類語辞書 --> NONE
サブタイトル --> 1(単語のこと)
[新規作成]ボタンをクリックします

4. インデクシング対象文書とスケジュールの登録
Mitake管理画面-メインメニューに登録した「サイト検索サービス」が表示されるので、サービスをクリックします

5. サービスメニューが開きます
6. ナビゲータの「新規スケジュール作成」をクリックします
スケジュール入力画面が開くので、
Defaut値の「ローカルインデクサ」
「毎日」を使用し、
[次へ]のボタンをクリックします

7. 別のスケジュール作成画面が開きますので、次の値を指定します。
開始時間 --> 00:00  (そのまま)
差分インデクシング --> Yes (そのまま)
top --> /home/zbs/public_html/ (当サーバーの例)
size -> Medium (そのまま)
threads --> 3 (そのまま)
ファイルのタイプ --> 全て(*1)
[スケジュール登録]ボタンをクリックします

8. サービス:SiteSearch / スケジュール:1が登録されます
9. サービス・メニュー画面に戻り、「サービス開始」ボタンをクリックします
10. スケジュール情報欄の番号「1」をクリックし、スケジュール画面を開きます
11. ナビゲータの「インデクシング開始」をクリックして、インデクシングします
12. サービスメニューのURLマップ編集をクリックして、URLマップを開きます
下記のマップに修正します。
file://iwanari/home/zbs/public_html/ => http://www.ikezoe.net/
[URLマップ更新] ボタンをクリックします

*1 ( 2005-09-15 追記 )
ファイルのタイプを html と pdf など対象ファイル数が少ないケースでインデクシング開始したとき検索用のMDBが作成されないトラブルがあります。ログ上に DB Directory = /home/MitakeSearch/schedule/SiteSearch/TMP/mdb-1 とありますが、実際は書き込みしていないように思う。対象ファイル数が多いと書き込むようで、最終のMDBも作成される。
サイトページへの反映
サイトページの適当な位置に検索窓を付けます。
注意点:検索サービス名がascii文字で指定したものでした(当サーバーの場合はSiteSerarchです)。これが違っているとサービス停止中になります。

[以下は、当サーバーの例] as of 2004/12/22 更新しました

<TABLE border="0"><TBODY><TR>
<TD width="324"><H1 class="site-title">Ikezoe Biz Support</H1></TD>
<TD width="1"><A href="#main"><img border=0" src="/images/c.gif" alt="本文へ移動"></a></TD>
<TD width="425" align="right" valign="middle">
<FORM title="検索フィールド" action="/cgi-bin/mitake/mitake.pl" method="GET">
<table border="0">
<tr>
<td>
<INPUT type="hidden" name="KCODE" value="SJIS" />
<INPUT type="hidden" name="NAME" value="SiteSearch" />
<INPUT type="hidden" name="DISPLAY" value="FULL" />
<INPUT type="hidden" name="SORT" value="RDATE" />
<INPUT type="hidden" name="SPACE" value="AND" />
<INPUT type="hidden" name="SMODE" value="YES" />
<INPUT name="S" size="30" />
</td>
<td><INPUT type="image" name="DO_SEARCH" value="検索実行" src="/images/sbutton.gif" border="0" alt="検索開始"></td>
<td> </td></tr>
</table>
</FORM></TDv
</TRv
</TBODY>
</TABLEv

蛇足:
CSS データの抜粋

FORM{
margin-top : 0px;
margin-left : 0px;
margin-right : 0px;
margin-bottom : 0px;
border-width : 0px 0px 0px 0px;}


感想
念願のサイト内検索システムが完成しました。
このページのトップにある検索窓が使えるようになっています。
まだテンプレートのカスタマイズが完成していませんので、提供されたものをそのまま使用しています。半分以上自己満足ですが、喜んでいます。インストールと最後のサイトページへの反映でハマリましたが楽しめました。

コメントする

最近のブログ記事

Windows XPのOutlook Express 6.0 のスペルチェック
近所の会社の社長さんは Windows …
白菜の花
畑は春の陽気ですね。2/23以降朝の冷え…
css - リストの黒丸や四角の黒などが表示できない
比較的簡単なページを作成しています。リス…

おすすめ