ディレクトリ構成
MindSearchをインストールおよび運用した場合のディレクトリ構成は以下のようになります。
インストール先ディレクトリ
/home/foo/ ←インストールディレクトリを ~foo と仮定
|
+--- mshyper/
|
* +--- bin/ ←プログラム格納ディレクトリ
| |
| +--- msdaemon ←MindSearchデーモン(2本1組)
| +--- msdaemon.mco
| |
| +--- lockdaemon.mco ←デーモン間の調停
| |
| +--- loader.mco ←インデックスの共有メモリロード
| |
| +--- mssearvice.mco ←MindSearchインスタンスプロセス
| +--- mssearviceidx.mco ←同、インデックス作成用
| |
| +--- msctrl ←デーモン制御ツール(2本1組)
| +--- msctrl.mco
| |
| +--- msclient ←標準対話型クライアント(2本1組)
| +--- msclient.mco
| |
| +--- mfhtml.mco ←標準HTMLフィルタ
| +--- mfhtml.ini ←同初期化ファイル
| |
| +--- ・・・・・・・ ←その他ツール
| +--- ・・・・・・・
| |
| +--- mrunt008 ←Mindランタイム
|
* +--- filterdef/ ←フィルタ定義ディレクトリ
| |
| +--- default.def ←標準のフィルタ定義ファイル
| +--- ・・
|
+--- scrips/ ←学習用のスクリプトファイル(msclientの為のヒストリファイル)
| |
| +--- ・・ .hist ←ヒストリファイル
| +--- ・・ .hist
|
+--- doc/ ←ドキュメント格納ディレクトリ
| |
| +--- ・・ .html ←HTMLドキュメント
| +--- ・・ .html
| +--- image/ ←イメージファイル格納ディレクトリ
|
* +--- log/ ←ログディレクトリ
|
+--- kernel/ ←Mind言語のランタイムソースディレクトリ
| |
| +--- ・・ .c ←C言語のソースコード
| +--- ・・ .c
| +--- ・・ .h
|
* +--- tags/ ←セッション管理ディレクトリ
| (インストール直後は空)
|
+--- sample/ ←サンプルプログラム/データ
|
+-- program/ ←サンプルプログラム
| |
| +-- javaCGI/ ←Javaで記述した簡易検索サイト
| |
| +-- javaclient/ ←Javaで記述した対話型クライアント
| |
| +-- perlCGI/ ←Perlで記述した簡易検索サイト
| |
| +-- perlclient/ ←Perlで記述した対話型クライアント
| |
| +-- phplib/ ←PHPの通信ドライバなど
|
+-- texts/ ←サンプルテキスト格納ディレクトリ
|
+-- indexes/ ←サンプルインデックス生成ディレクトリ
アプリケーション動作に必須のディレクトリ
上記はMindSearchを使ったソフトウェア開発に必要なディレクトリの構成であり、出来上がったアプリケーションが必要とするディレクトリはこれよりも少なくなります。上の図で「*」印のついた4つのディレクトリが最終アプリケーション走行に必須のもので、それだけ(必須ディレクトリ)を抽出すると次のようになります。
<任意のパス>/
|
+--- bin/
|
+--- filterdef/
|
+--- log/
|
+--- tags/
インデックス生成ディレクトリ
インデックスファイルの置き場所はMindSearchのインストールディレクトリと無関係に決めて構いませんが、1単位のインデックス作成ごとに異なるディレクトリを指定する必要があります。
以下の例はインデックス作成ディレクトリとして "/data/index/article" を指定した場合です。ディレクトリ article はMindSearchが生成しますが、上位ディレクトリ /data/index は既に存在している必要があります。
インデックス生成ディレクトリ直下にはさらに hash および stream という2つのフォルダが自動的に作成され、その下に各種ファイルが生成されます。
hash/ と stream/ の2ディレクトにて最小限の1インデックスとなりますが、差分インデックシングを行なう場合にはこれが2組、主・副インデックスとして使われます(mainA/, subA/)。
また、さらにこの主・副インデックスを1組とした単位を2組持つことができます。A系統、B系統と呼んでいます。A/B2系統のインデックスは、検索サービス中に次のインデックス作成を行なう必要がある場合に利用します。
/data/index/article ←インデックスディレクトリ
| (アプリケーションが指定しMindSearchが末尾フォルダ生成)
|
+- mainA ←主インデックス格納ディレクトリ
| |
| +--- hash ←ハッシュテーブル格納ディレクトリ
| | |
| | +--- 100
| | | +--- 00.idx
| | | +--- 01.idx
| | | ......
| | +--- 101
| | | ......
| | +--- 102
| | | ......
| |
| +--- stream ←ドキュメント情報格納ディレクトリ
| |
| +--- doccompact.bin ←ドキュメント情報(圧縮)
| |
| +--- docprop.bin ←インデックスのプロパティ
| |
| +--- docinfo001.bin ←ドキュメント情報
| +--- docinfo002.bin ←ドキュメント情報
| | ...........
| |
| +--- org001.txt ←原文(プレーンテキスト)を格納
| +--- org002.txt
| | ...........
| |
| +--- reg001.txt ←正規化文を格納
| +--- reg002.txt
| | ...........
| |
| +--- sortinf11.bin ←ソート順情報
| +--- sortinf12.bin
| | ...........
| |
| +--- sortkey1.txt ←ソートキーの実体
| +--- sortkey2.txt
| | ...........
|
[ +- subA ←副インデックス格納ディレクトリ ]
[ | +--- hash ]
[ | | | ↑ ]
[ | | +--- 100/ | ]
[ | | | .... | ]
[ | | +--- a7f/ 差分インデックシングを行なう場合 ]
[ | | | ]
[ | +--- stream | ]
[ | | | ]
[ | +--- doccompact.bin | ]
[ | | | ]
[ | +--- docprop.bin | ]
[ | | | ]
[ | +--- org001.txt | ]
[ | | .......... | ]
[ | | | ]
[ | +--- reg001.txt | ]
[ | | .......... ↓ ]
[ | ]
[ | ]
[[ +- mainB ←B系統:主インデックス格納ディレクトリ ]]
[[ | +--- hash ]]
[[ | +--- stream ]]
[[ | ]]
[[ +- subB ←B系統:副インデックス格納ディレクトリ ]]
[[ +--- hash ]]
[[ +--- stream ]]
Copyright(C) 2000-2009 Scripts Lab. Inc.