スクリプツ・ラボ ホームページ > N-gram検索エンジン MindSearch > オンラインマニュアル > MindSearchFuzzyマニュアル


サンプルのデータ/プログラム



 MindSearchの機能評価や学習用にサンプルのデータとプログラムを用意しています。このページではそれらについて解説します。
 サンプルのデータあるいはプログラムはすべて sample/ というディレクトリ内に格納されています。1つだけ、msclient と呼ぶ標準対話型クライアントプログラムは開発用ツールの性格が強いため、bin/ ディレクトリに入っています。ディレクトリ関係は以下のようになります。
    /home/foo/             ←インストールディレクトリを ~foo と仮定
        |
        +--- msfuzzy/
              |
              +--- bin/             ←プログラム格納ディレクトリ
              |     |
              |     +--- msclient           ←標準対話型クライアント(2本1組)
              |     +--- msclient.mco
              |
              +--- sample/          ←サンプルプログラム/データ
                    |
                    +-- program/            ←サンプルプログラム
                    |       |
                    |       +-- javaCGI/        ←Javaで記述した簡易検索サイト
                    |       |
                    |       +-- javaclient/     ←Javaで記述した対話型クライアント
                    |       |
                    |       +-- perlCGI/        ←Perlで記述した簡易検索サイト
                    |       |
                    |       +-- perlclient/     ←Perlで記述した対話型クライアント
                    |
                    +-- texts/              ←サンプルテキスト格納ディレクトリ
                    |
                    +-- indexes/            ←サンプルインデックス生成ディレクトリ


サンプルデータ

 サンプルデータは sample/texts/ 以下の場所に格納されています。
           msfuzzy/
              |
              +--- sample/
                    |
                    +-- texts/      ←サンプルテキスト格納ディレクトリ
                          |
                          +-- eiga/           ←映画評論
                          |     |
                          |     +-- CREDIT.euc
                          |     +-- eiga1.txt
                          |     +-- eiga2.txt
                          |     〜略〜
                          |     +-- eiga6.txt
                          |
                          +-- eigaDB/         ←映画評論(DBモード用)
                          |     |
                          |     +-- CREDIT.euc
                          |     +-- eiga1.txt
                          |     +-- eiga2.txt
                          |     〜略〜
                          |     +-- eiga7.txt
                          |
                          +-- eigaDB2/        ←映画評論(DBモード,差分作成用)
                          |     |
                          |     +-- CREDIT.euc
                          |     +-- eiga1u.txt
                          |     +-- eiga5a.txt
                          |     +-- eiga6a.txt
                          |     +-- eiga7d.txt
                          |
                          +-- tokkyo/         ←特許の話
                          |     |
                          |     +-- CREDIT.euc
                          |     +-- tok01.txt
                          |     +-- tok02.txt
                          |     〜略〜
                          |     +-- tok13.txt
                          |
                          +-- tokkyoDB/       ←特許の話(DBモード用)
                          |     |
                          |     +-- CREDIT.euc
                          |     +-- tok01.txt
                          |     +-- tok02.txt
                          |     〜略〜
                          |     +-- tok13.txt
                          |
                          +-- tokkyoDB2/      ←特許の話(DBモード用,差分作成用)
                          |     |
                          |     +-- CREDIT.euc
                          |     +-- tok03.txt
                          |     +-- tok06.txt
                          |     +-- tok10.txt
                          |     +-- tok13.txt
                          |
                          +-- web/            ←Webコンテンツ(弊社HP)
                                |
                                +-- CREDIT.euc
                                +-- www.pinpointfinder.jp/
                                |               +-- ・・・
                                |               +-- ・・・
                                +-- www.scripts-lab.co.jp/
                                                +-- ・・・
                                                +-- ・・・
注:それぞれのディレクトリ内にある CREDIT.euc に目を通しておいてください。作者の名前や利用制限などが書かれています

映画評論
 文字通り映画の評論です。本来1本のファイルですがあえて6分割のファイル構成としてあります。

特許の話
 特許部門に在籍している方の連載記事で、比較的短い文章が13のファイルに分かれています。

Webコンテンツ
 このデータはHTMLドキュメントであることが特徴です。このドキュメントを検索する時にはHTMLフィルタが自動的に起動されます。(HTMLフィルタは製品に標準添付です)
 またここにあるコンテンツはツリー構造を持ったディレクトリに分散格納されている点も特徴です。(ホームページのミラーになっています)。ツリー構造のファイルを扱うサンプルになります。


msclientを使ったインデックス作成と検索

 このセクションでは msclient を使い、簡易的なインデックス作成と検索を行います。msclientについては 「開発関連ツールの使い方」−「msclient(標準対話プログラム)」 も合わせてお読みください。


インデックスを作成してみる

 ここで実際にサンプルデータのインデックスを作成します(以降の検索テストでも使うので本当に作成してださい)。
 まず、MindSearchデーモンを起動します(起動方法は こちら を参照)。
注: msfuzzy/bin にPATHを通しておいてください
      $ cd ~/msfuzzy/scripts
      $ msdaemon &            ←バックグラウンドで起動
      MSdaemon: start
      Lockdaemon: start
      Lockdaemon: Host:localhost Port1:3580 Port2:3581 Port3:3582
      Loader: start
      Loader: 共有メモリ管理テーブル獲得
      Loader: get    6KB: key=08001001 id=1245184 addr=40013000 Total=   1MB
      MSdaemon: waiting connection
 上記のように、MindSearchデーモンの起動メッセージが表示されます。

[映画評論のインデックス作成]
 映画評論をインデックス作成してみます。ファイルからのインデックス作成用のシェルスクリプトの一つ make-eiga.sh を起動します。
      $ ./make-eiga.sh             ←キー入力
      msclient: start
      msclient: Host:localhost Port:3580
      "makeindex.hist"を履歴ファイルとして読み込みます。
      MindSearchエンジンとの対話開始
       「?」コマンドを入力するとコマンド・テンプレートを表示できます。
       終了は「FIN」コマンドですが、INIコマンド未実行の場合などで強制
       制終了したい場合には「quit」コマンドを使います。
      _         ←キー入力待ち
 上記のように、msclient の立ち上がりメッセージが表示され、キー入力待ちとなります。
 まずは「?」コマンドを入力してヘルプを表示してみます。
      ?                               ←キー入力
       1 INI:app01
       2 STA
       3 CMD:"sample/texts"を検索ベースパス設定
       4 CMD:"eiga+"を検索パス設定
       5 CMD:"sample/indexes/eiga/mainA"にインデックス作成
      その他: silent  - 検索中のレスポンスを画面に表示しない(検索速度評価用)
         : verbose - silent を解除します
         : quit    - 検索コアに通知せず強制切断
         : auto    - GETコマンドの自動発行を行う(デフォルト)
         : manual  - GETコマンドの自動発行を一部抑止する
      _         ←キー入力待ち
 上記のように現在のヒストリの内容とコマンド一覧が表示されます。
 ヒストリに記載されている各行はMindSearchのスクリプトであり、MindSearchの実験・学習用に作られたものです。いま読み込んだ makeindex.hist はサンプルデータからインデックスを作成するためのものです。このほかに、検索実験用の search.hist といったファイルもあります。
 開発者は用途ごとの数多くの自分のためのヒストリファイルを作っておくと、各種動作確認に便利です。もちろん、そういうものをまったく使わず、すべてキーボードから入力するというのでも構いません。

 さて前記の1〜5までのテンプレートを一気に実行しても良いのですが、最初なので少しずつ実行してみます。
 まずは INIコマンドと STAコマンドを発行します。
      1-2                  ←キー入力
      send=INI:app01
      recv=OK:app01006055C77
      send=STA
      recv=OK:MindSearch Fuzzy Ver.3.1 (SDK) / MaxSessions=2000 / MaxConnections=3 /
       Build=2009-05-23 11:37 / BasePath=/home/foo/msch/msfuzzy
       (自動) CMD:0をエンジン側タイムアウト設定
       (自動) OK:0
      _         ←キー入力待ち
 「1-2」という指示は特別な意味を持ち、ヒストリの1番から2番を実行せよ・・という意味になります。
 上記からは、まずINIコマンドを発行し、次いでSTAコマンドを送出してセッションを開始したことが分かります(クライアントとMindSearchコアとのやりとりはすべてモニタ表示されます)。
 STAコマンドのレスポンス「OK:」の後ろには多量の情報が含まれます。MindSearchのエディション名、バージョン番号、最大同時接続数、ビルド日付、ベースパスが返されているのが分かります。
 「OK:」から後ろの部分はアプリケーションによって処理されるというよりは、人に読まれることを意識したものです。
 ベースパス とは、MindSearchのインストールディレクトリのことです。これはMindSearchが自動計算し、この例では /home/foo/msfuzzy となっているのが確認できます。
 次いで検索ベースパスを設定します。
      3                  ←キー入力
      send=CMD:"sample/texts"を検索ベースパス設定
      recv=OK:/home/foo/msfuzzy/sample/texts
 検索ベースパス とは、この後で実行する「検索パス設定」のための基準パスを指定するものです。(検索パスの指定はこのように二段構えになっています)。上記例ではMindSearchインストールディレクトリ下にある sample/ を基準に設定しています。

 次に映画評論のテキスト場所を検索パスに指定します。
      4                  ←キー入力
      send=CMD:"eiga+"を検索パス設定
      recv=OK:#1
 上記は「検索ベースパス」からの相対パスを検索パスとして指定しています。ここまでのパス設定をまとめると以下のようになります。
      ペースパス:
         /home/foo/msfuzzy      ←インストールディレクトリから自動決定

      検索ベースパス設定:
         指定=sample/texts  結果=/home/foo/msfuzzy/sample/texts

      検索パス設定:
         指定=eiga          結果=/home/foo/msfuzzy/sample/texts/eiga
 今はインデックスを作成しようとしている時で、検索をおこなうわけではないにもかかわらず「検索パス設定」という指定を行なうことに違和感を覚えるかも知れません。
 MindSearchでインデックス作成を行なう際、まずはディスク内にある「検索されるべきテキストファイル」を概念上の「検索パス」として扱い、そこを読み出しながらインデックスを作成するという考え方をとっています。「見えるファイル」をインデックス作成元とし、「別の指定場所」をインデックス作成先に指定してインデックス作成を行なうのがMindSearchのやりかたです。
 ここでようやくインデックス作成コマンドを発行します。次のようになります。
      5                  ←キー入力
      send=CMD:"sample/indexes/eiga/mainA"にインデックス作成
      (ここでしばらく待ちます)
      recv=OK:/home/foo/msfuzzy/sample/indexes/eiga/mainA(subA) 0分33秒319ミリを消費
 インデックス作成は時間のかかる処理なので、「OK:」レスポンスが返されるまでに数秒かかりますが、より大量のテキストを処理する場合にはもっと時間がかります。(大量のデータを低機能マシンで処理する場合は時間単位で消費することもあります)
 「OK:」の後ろにある情報は人が見るためのものです。インデックス生成先の絶対パスと、時間消費を確認することができます。

注:テキスト分量は僅かなのにかわらずインデックス作成に時間がかかっていますが、MindSearch の特性により、ある程度のテキストボリュームになるまでインデックス作成時間は変わらず、結果的にごく少量のテキストでは分量のわりには時間がかかることになっています。本番で大量テキストを与えるようになると妥当な時間になります。

注:インデックス作成中、(デーモンを立ち上げた時のコンソールに)状況を表示することができます。デフォルトはオフですがオンにできます。bin/ ディレクトリ内にある _monitor_idxprogress_NOT というタッチファイルを _monitor_idxprogress_ のようにリネームすることで有効化してください。(このあとのインデックス作成からモニタ表示されます)
 最後に「FIN」コマンドを手で打ち込んで mcslient を終了させてください。
      FIN                ←キー入力
      send=FIN
      msclient: exit
[特許の話のインデックス作成]
 次に「特許の話」のインデックスを作成します。今度は一つ一つのスクリプトを手動で進めるのではなく一気に実行(オプション -exec)します。
      $ ./make-tokkyo.sh -exec       ←キー入力
      msclient: start
      msclient: Host:localhost Port:3580
      send=INI:app01
      recv=OK:app01006105C77
      send=STA
      recv=OK:MindSearch Fuzzy Ver.3.1 (SDK) / MaxSessions=2000 / MaxConnections=3 /
       Build=2009-05-23 11:37 / BasePath=/home/foo/msch/msfuzzy
      send=CMD:"sample/texts"を検索ベースパス設定
      recv=OK:/home/foo/msfuzzy/sample/texts
      send=CMD:"tokkyo+"を検索パス設定
      recv=OK:#1
      send=CMD:"sample/indexes/tokkyo/mainA"にインデックス作成
      recv=OK:/home/foo/msfuzzy/sample/indexes/tokkyo/mainA(subA) 0分12秒726ミリを消費
[Webコンテンツのインデックス作成]
 最後に「Webコンテンツ」のインデックスを作成します。
      $ ./make-web.sh -exec       ←キー入力
      msclient: start
      msclient: Host:localhost Port:3580
      send=INI:app01
      recv=OK:app01006115C77
      send=STA
      recv=OK:MindSearch Fuzzy Ver.3.1 (SDK) / MaxSessions=2000 / MaxConnections=3 /
       Build=2009-05-23 11:37 / BasePath=/home/foo/msch/msfuzzy
      send=CMD:"sample/texts/web"を検索ベースパス設定
      recv=OK:/home/foo/msfuzzy/sample/texts/web
      send=CMD:"+"を検索パス設定
      recv=OK:#16
      send=CMD:上位URL「http://」で"sample/indexes/web/mainA"にインデックス作成
      recv=OK:/home/foo/msfuzzy/sample/indexes/web/mainA(subA) 0分12秒726ミリを消費

サンプルとしてはこの他に、データーベースモードで作成する"映画評論"と"特許の話"がありますが、そちらについては 擬似的なデーターベースのインデックス作成 の章で実際に作成することになっています。

インデックスをロードする

msclientと対話中の場合は一旦 msclient を終了させてください(「FIN」を入力)
 先ほど作成したインデックスをロードします。以下のようにおこないます。(ロード方法の詳細は こちら
      $ msctrl load @symeiga sample/indexes/eiga     ←キー入力
      MSdaemon: detect SUS -> stop listen
      Loader: loading /home/foo/msch/msfuzzy/sample/indexes/eiga
      〜略〜
      Loader: sync 1@symeiga
      Loader: merge @symeiga: /home/foo/msch/msfuzzy/sample/indexes/eiga
      Loader: end of merge index: shared memory consumed=11KB segments=5
      MSdaemon: detect RES -> resume listen

      $ msctrl load @symtokkyo sample/indexes/tokkyo     ←キー入力
      MSdaemon: detect SUS -> stop listen
      Loader: loading /home/foo/msch/msfuzzy/sample/indexes/tokkyo
      〜略〜
      MSdaemon: detect RES -> resume listen

      $ msctrl load @symweb sample/indexes/web           ←キー入力
      MSdaemon: detect SUS -> stop listen
      Loader: loading /home/foo/msch/msfuzzy/sample/indexes/web
      〜略〜
      MSdaemon: detect RES -> resume listen
サンプルとしてはこの他に、データーベースモードで作成する"映画評論"と"特許の話"のインデックスのロードがありますが、そちらについては 擬似的なデーターベースのインデックス作成 の章で実際に作成、ロードすることになっています。

検索してみる

 検索テスト用のヒストリファイルである search.hist を指定して以下のように msclient を起動します。
      $ msclient search.hist             ←キー入力
      msclient: start
      msclient: Host:localhost Port:3580
      "search.hist"を履歴ファイルとして読み込みます。
      MindSearchエンジンとの対話開始
       _         ←キー入力待ち
 以前と同様に「?」コマンドを入力してヘルプを表示してみます。
      ?                   ←キー入力
       1 INI:app01
       2 STA
       3 --------------------
       4 CMD:インデックスをつかい"symeiga"を検索パス設定
       5 KEY:"映画"and"監督"
       6 CMD:検索
       7 GET
       8 --------------------
       9 CMD:インデックスをつかい"symeigaDB"を検索パス設定
      10 KEY:"映画"and"監督"
      11 CMD:検索
      12 GET
      13 --------------------
      14 CMD:インデックスをつかい"symtokkyo"を検索パス設定
      15 KEY:"色"and"アイデア"
      16 CMD:検索
      17 GET
      18 --------------------
      19 CMD:インデックスをつかい"symtokkyoDB"を検索パス設定
      20 KEY:"色"and"アイデア"
      21 CMD:検索
      22 GET
      23 --------------------
      24 CMD:インデックスをつかい"symweb"を検索パス設定
      25 KEY:"外出先"and"メール転送"
      26 CMD:検索
      277GET
      28 --------------------
      29 CMD:モード確認
      _         ←キー入力待ち
 search.hist を読み込んだ場合には上記のようなスクリプトがテンプレートとなります。「とりあえずサンプルを検索してみる」という用途を想定したスクリプトです。

[映画評論の検索]
 映画評論のインデックスを検索してみます。まずは初期化からです。
      1-2                   ←キー入力
      send=INI:app01
      recv=OK:app01006125C77
      send=STA
      recv=OK:MindSearch Fuzzy Ver.3.1 (SDK) / MaxSessions=2000 / MaxConnections=3 /
       Build=2009-05-23 11:37 / BasePath=/home/foo/msch/msfuzzy
 上記により、INIコマンドとSTAコマンドが発行されました。
 次いで検索パスの指定と検索コマンドを発行します。
      4-7                   ←キー入力
      send=CMD:インデックスをつかい"symeiga"を検索パス設定
      recv=OK:#1
      send=KEY:"映画"and"監督"
      recv=OK:
      send=CMD:検索
      recv=OK:2件(精密) 2件(ラフ) 0件(ミス) 0分0秒1ミリを消費
      send=GET
      recv=SS:1|XFL|eiga/eiga3.txt|20031217010203||||2|2
      send=GET
      recv=SB: ヨーロッパ
      send=GET
      recv=SR:映画
      send=GET
      recv=SB:といえば昔から、湿潤な邦画にはとても手が出せない独特の雰囲気が
あるものだが、これはまたその点を強調して、一定の雰囲気づくりにたいへんな労力を
割いている。そもそもベロニカという名前は、カトリックの聖女伝のなかにある名前だ
。最近は日本でも超常現象などが巷の話題になるが、ヨーロッパの
      send=GET
      recv=SR:映画
      send=GET
      recv=ES:3
      send=GET
      recv=SS:2|XFL|eiga/eiga1.txt|20031216010201||||2|2
      send=GET
      recv=SB: 1.ふたりのベロニカ                 片桐 真喜子

 私は、この
      send=GET
      recv=SR:映画
      send=GET
      recv=SB:の
      send=GET
      recv=SR:監督
      send=GET
      recv=SB:クシシュトフ・キェシロフスキは何というセンスの持ち主だろ
うと、今でも驚いている。ポーランドの小さな村とフランスの田舎町を舞台にしたこの
作品には、まず主演のイレーヌ・ジャコブがいる。パリジェンヌの彼女は若く美
      send=GET
      recv=ES:3
      send=GET
      recv=OK:
 沢山の情報が返されていますが、詳細はプログラミングガイドで解説するのでここでは省きます。いわゆる検索サイトをアクセスして検索結果を見るようなものとはだいぶ異なりますが、msclient の利用目的がスクリプトの確認・学習用であるため、あえてレスポンスを整形せず「ありのまま」の情報を表示しています。
 上記で、
      Recv=SR:映画
      Recv=SR:監督
 とある部分(「SR:」レスポンス)が発見したキーワード(を強調表示せよという情報)なので、ここを重点的にチェックすると良いでしょう。
 また上記中の所々に、
      Send=GET
というスクリプト送出が見えます。「検索」コマンドのように、MindSearchコアからのレスポンスに対して、小刻みに"GET"という副コマンドを返す必要のある場面では、msclient が自動的にGETを発行するようになっています。いちいちキーボードからGETを入力するのが大変なのでそのような仕様にしているだけであり、アプリケーションレベルで言えばこのGETコマンドも含めてきちんと送出しなくてはなりません。

[特許の話の検索]
 続いて特許の話のインデックスを検索してみます。
      14-17                   ←キー入力
      send=CMD:インデックスをつかい"symtokkyo"を検索パス設定
      recv=OK:#1
      send=KEY:"色"and"アイデア"
      recv=OK:
      send=CMD:検索
      recv=OK:1件 0分0秒1ミリを消費
      send=GET
      recv=SS:1|XFL|tokkyo/tok03.txt|19901128172700||||1|1
      send=GET
      recv=SB:特許の小話第3話◆
      ( 2)   90/11/28 17:27
      
                              ◇◆◇  カラオケと特許  ◇◆◇
      
        ♪チャンチャ〜ン  ♪チャンチャン  ♪チャ〜ン  ♪  チャン♪
      
        こんな文字を見ると居ても立ってもいられない人はいらっしゃいませんか。
       カラオケもブームになってから久しく、一生懸命励んでいる人、もうあきら
      send=GET
      recv=ES:
      send=GET
      recv=OK:
[Webコンテンツの検索]
 最後にWebコンテンツのインデックスを検索してみます。
      24-27                   ←キー入力
      send=CMD:インデックスをつかい"symweb"を検索パス設定
      recv=OK:#1
      send=KEY:"UNIX版"and"プログラム言語"
      recv=OK:
      send=CMD:検索
      recv=OK:1件(精密) 1件(ラフ) 0件(ミス) 0分0秒3ミリを消費
      send=GET
      recv=SS:1|XFL|www.scripts-lab.co.jp/mind/ver7/unixbin/README.html|20041011185908||||1|1
      send=GET
      recv=SB:Mind - products - Mind Version 7 for UNIX - README.txt
      
                 ================================
                                 Mind Version 7 for UNIX
                     (mind7u06.tar.gz対応)
                 ================================
      
                  スクリプ
      send=GET
      recv=ES:
      send=GET
      recv=OK:

Perlで書いた対話プログラム(perlClient)

 msclient とほぼ同じ機能を持った対話用クライアントプログラムです。このプログラムを使うこと自体よりも、ソースコードを公開することでMindSearchとの通信の実装方法(より具体的には、ライブラリ mschDriver.pl の使い方)を参考にしていただくのが目的です。アプリケーションをPerlで開発する場合の参考にしてください。
注:Perl, Java で書いた対話プログラムはタイムアウトの自動無効化がおこなわれていないため、60秒間次のコマンド発行が無いと、検索エンジンの側から強制的にコネクションを切断されてしまいます。ご注意ください。
環境設定
 Perlの動作環境が必要になります。スクリプツ・ラボ社では Perl 5 にて確認をおこなっています。

起動方法
 次のように起動します。(注: msfuzzy/bin にPATHを通しておいてください)
      $ cd ~/msfuzzy/scripts
      $ perlClient search.hist
 実は、bin/perlClient はPerlのコードではなく、本物の perlClient に飛ばせるためのシェルスクリプトに過ぎません。Perlスクリプトは複数のファイルから成るため、別ディレクトリに置いてあり、その関係で変則的な起動方法をとっています。興味のある方は、bin/perlClient をcatでお読みくだいさい。

開発ディレクトリ
 開発ディレクトリは、msfuzzy/sample/program/perlclient/ です。この下にはさらに、lib/ ディレクトリがあります。lib/ 内には、インターフェースライブラリである mschDriver.pl が入っています。
 インターフェースライブラリである mschDriver.pl の使い方については、Perlの通信ライブラリを参照ください。


Javaで書いた対話プログラム(javaClient)

 msclient とほぼ同じ機能を持った対話用クライアントプログラムです。このプログラムを使うこと自体よりも、ソースコードを公開することでMindSearchとの通信の実装方法(より具体的には、クラスライブラリ MschDriver.java の使い方)を参考にしてもらうのが目的です。アプリケーションをJavaで開発する場合の参考にしてください。
注:Perl, Java で書いた対話プログラムはタイムアウトの自動無効化がおこなわれていないため、60秒間次のコマンド発行が無いと、検索エンジンの側から強制的にコネクションを切断されてしまいます。ご注意ください。
環境設定
 Javaの動作環境が必要になります。スクリプツ・ラボ社では以下の環境にて確認をおこなっています。
     jdk1.6.0

クラスファイル
 classファイルは既に入っています。再コンパイルを行う場合には、sample/program/javaclient/ 下においてmakeを使ってください。

起動方法
 次のように起動します。
注:javaが起動できるように準備しておいてください
      $ cd ~/msfuzzy/bin
      $ ./javaClient search.hist
 実は、bin/javaClient はJavaのコードではなく、本物の javaClient に飛ばせるためのシェルスクリプトに過ぎません。Javaスクリプトは複数のファイルから成るため、別ディレクトリに置いてあり、その関係で変則的な起動方法をとっています。興味のある方は、bin/javaClient をcatでお読みくだいさい。

開発ディレクトリ
 開発ディレクトリは、msfuzzy/sample/program/javaclient/ です。
 インターフェースライブラリである MschDriver.java の使い方については、Javaの通信ライブラリを参照ください。


Perlで書いた簡易検索サイト(perlCGI)

 ごくシンプルな検索サイトのサンプルです。インターフェースライブラリ mschDriver.pl 経由でMindSearchを駆動します。Webアプリケーションを組む場合の参考にしてください。

環境設定
Perl
 Perlの動作環境が必要になります。スクリプツ・ラボ社では Perl 5 にて確認をおこなっています。
本ディレクトリ(sample/program/perlCGI/lib)にはフリーソフトの cgi-lib.pl を同梱しています。(Copyright (c) 1996 Steven E. Brenner)。詳細は同ファイルの内容を直接参照願います。
Webサーバー側の設定
URL
 この簡易検索サイトのエントリページのディレクトリとURLの関係は、たとえば以下のようになります(CGIエイリアスではなく、ディレクトリに対してシンボリックリンクを使ったケースを示します)。
     CGIディレクトリ:
          /home/foo/public_html/msfuzzy-perlCGI
          (ここにはシンボリックリンクされたフォルダ msfuzzy-perlCGI が
           入るだけで実体は有りません)

     シンボリックリンク:
          /home/foo/msfuzzy/sample/program/perlCGI
            → /home/foo/public_html/msfuzzy-perlCGI

     URL:
          http://www.mycompany.co.jp/~foo/msfuzzy-perlCGI/search.cgi
画面例
 正しく動作していれば、ブラウザで上記URLにアクセスするとCGIが生成した画面が表示されます。
 デフォルトの検索対象が「映画評論」になっているので、キーワード入力欄に「ヨーロッパ 監督」と入れ(条件式としては「ヨーロッパ and 監督」の意味)、次いで「検索」ボタンを押してください。以下の画面が表示されます。



検索対象として「映画評論(DB)」あるいは「特許の話(DB)」を試す場合には事前にそれららのインデックスを作成し、ロードしておく必要があります。詳しくは 擬似的なデーターベースのインデックス作成 の解説を参照してください。


Javaで書いた簡易検索サイト(javaCGI)

 ごくシンプルな検索サイトのサンプルです。インターフェースライブラリ MschDriver.java 経由でMindSearchを駆動します。Webアプリケーションを組む場合の参考にしてください。

環境設定
Java
 Javaの動作環境が必要になります。スクリプツ・ラボ社では以下の環境にて確認をおこなっています。
     JDK-1.6.0
     TOMCAT-6.0.35
 なおこの検索サイトのプログラムはサーブレットのみで記述しており、JSPは使っていません。

Webサーバー側の設定
URL
 この簡易検索サイトのエントリページのディレクトリとURLの関係は、たとえば以下のようになります。
     サーブレットの実ディレクトリ(例):
          /home/foo/msfuzzy/sample/program/javaCGI
          (メインクラスは Search.class)

     サーブレットのエイリアス(例):
          /mschJavaServlet/

     URL(例):
          http://www.mycompany.co.jp/mschJavaServlet/Search
画面例
 正しく動作していれば、ブラウザで上記URLにアクセスするとサーブレットが生成した画面が表示されます。
 デフォルトの検索対象が「映画評論」になっているので、キーワード入力欄に「ヨーロッパ 監督」と入れ(条件式としては「ヨーロッパ and 監督」の意味)、次いで「検索」ボタンを押してください。以下の画面が表示されます。



検索対象として「映画評論(DB)」あるいは「特許の話(DB)」を試す場合には事前にそれららのインデックスを作成し、ロードしておく必要があります。詳しくは 擬似的なデーターベースのインデックス作成 の解説を参照してください。



Copyright(C) 2000-2009 Scripts Lab. Inc.