Namazu-users-ja(旧)


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: ファイル数、キーワード、インデックス作成日が更新されない。



Amuro Rayです。
ご返答ありがとうございます。

Chihiro Hamatani <chihiro4ml@xxxxxxxxxxx> wrote:

>  mknmzを実行したとき、インデックスと同じディレクトリにある
> テンプレートが更新されます。
>  よって、これと異なるテンプレートを.namazurcで指定した場合、
> mknmzはこのことを知らないので、このテンプレートは更新されません。
> 

なるほど。

>  より詳しく述べると、
>   ・mknmz実行時にindexディレクトリにtemplateファイル(NMZ.headなど)
>     が存在しない場合
>     →デフォルトのtemplate(あるいは-Tオプションで指定したtemplate)が
>       indexにコピーされた後、NMZ.headなどが更新されます。
>   ・mknmz実行時にindexディレクトリにtemplateファイル(NMZ.headなど)
>     が存在する場合
>     →indexディレクトリのtemplateファイル(NMZ.headなど)が更新
>       されます。
>  いずれにしても、namazu.cgi実行時にindexディレクトリと異なる
> ディレクトリを.namazurcで指定した場合、テンプレートのキーワード数や
> インデックス作成日は更新されません。
> 
>  つまり、
>   mknmz実行時のtemplateと.namazurcのtemplateでは効果が異なるわけです。

indexディレクトリのtemplateしか更新されないのですね。


> ・indexディレクトリに存在するtemplateファイルを修正する。
> ・修正したtemplateファイルを、mknmz実行時に-Tオプションで
>   指定したディレクトリにコピーしておく。
>   (indexをすべて消去したときの対策)

更新したtemplateを指定ディレクトリにコピーする手法ですね。


自分で調べたところ、mknmzrcで、
$TEMPLATEDIR = "/var/namazu/index/template/"
としてmknmzにtemplateの場所を教える方法はどうでしょう
か?

mknmzのperlスクリプトを見ると、
my $TEMPLATEDIR   = "/usr/share/namazu/template"; # directory where templates ar
e in.

と、反映されていますし、

$TEMPLATEDIR = "../template" if -f "../template/NMZ.head";

という風になっていますので、もしやと。。。

でも、やっぱりtemplateは更新されませんでした。

ちなみに-Tオプションは、
mknmz --template-dir=/var/namazu/index/template/ -O 
/var/namazu/index/ /var/www/web/worddoc/

としてもだめでした。↑記述がもしかして違うのかも。

やっぱりコピーするのが簡単でしょうか?


"★。、::。.::・'゜☆。.::・'゜★。、::。.::・'゜

Name   :   Amuro Ray
E-Mail  :  gundam@xxxxxxxxxxxxxxxx

"★。、::。.::・'゜☆。.::・'゜★。、::。.::・'゜