Link

新しいレイアウト

新しいレイアウト (1.1.3以降)

getassoc を –enable-newlayout=yes で構成すると、共有可能なバイナリおよびデータのみが –prefix で指定されたディレクトリ以下の共通の場所にインストールされる。

$prefix/bin -- ユーザが直接使用するコマンド
  simcomp		類似度コンパイラ
  stp		セットアッププログラム (実際には xgetassoc のラッパー)
  tgetassoc	テスト用スタンドアロンプログラム
  wtouch		WAMをキャッシュに入れるためにタッチするだけのプログラム

$prefix/include/getassoc -- インクルードファイル
  nwam.h
  simdef.h
 
$prefix/lib -- ライブラリ
  libnwam.{a,so,dylib}
  *.{so,bundle}	コンパイルされた類似度
 
$prefix/libexec/getassoc -- 他のプログラムから呼び出されるプログラム
  getassoc	cgi-bin のメインプログラム
  otmi2itb	stpから呼び出され、OTMI形式をITBに変換する
  tsv2itb		stpから呼び出され、TSV形式をITBに変換する
  xgetassoc	stpから呼び出され、WAMを作成する
 
$prefix/share/
  share/getassoc/*

一方で、ユーザが扱うデータはどこにでも好きなところに配置することができる。 以下では、そのディレクトリを $getaroot とする。 カタログ(WAMの一覧)、一時ファイル、WAM、分散WAMは、それぞれ、 $getaroot/etc、$getaroot/tmp、$getaroot/nwam、$getaroot/pwam に配置される。

new-layoutでは、さらに、cgi-bin のメインプログラムのラッパが必要である。 これは、通常、$getaroot/bin/getassocにおかれる短いシェルスクリプトで、$getarootがどこであるかを伝える引数をもって cgi-bin のメインプログラムを呼び出す。(以下のサンプルプログラムを参照のこと)

以上のファイルに干渉しないどんなファイルでも$getaroot以下に置いて構わない。 dnwam.confや、rcfileを$getaroot/etc以下に置くのが便利である。

$getaroot/bin
  getassoc	cgi-bin のメインプログラムのラッパ
 
$getaroot/etc
  catalogue.xml	カタログ (WAM一覧)
  dnwam.conf	分散WAMの設定ファイル
  rcfile		gss3のデフォルトを上書きする設定ファイル
 
$getaroot/tmp -- 作業ディレクトリ
 
$getaroot/nwam -- インストールされたWAM
 
$getaroot/pwam -- インストールされた分散WAM
  m.n		m番目の文書、n番目の単語が登録されたWAM

$getaroot/bin/getassoc -- ラッパのサンプル

  #! /bin/sh
  exec $prefix/libexec/getassoc/getassoc -R $getaroot