Namazu-users-ja(旧)


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

Re: インデックスの最新化



尾上と申します。
長文です、スミマセン。

私も同じような現象に遭遇しました。cronでmknmzと
すると、Office文書系のフィルタ処理をしなくなって
その部分のインデックスが更新されないのです。

環境は、
kondara 1.1
Namazu 2.0.4
perl 5.00503
です。

コマンドラインからmknmz -Cすると

読み込んだ設定ファイル: /etc/namazu/mknmzrc
システム: linux
Namazu: 2.0.4
Perl: 5.00503
NKF: module_nkf
KAKASI: module_kakasi -ieuc -oeuc -w
ChaSen: no -j -F '%m '
わかち書き: module_kakasi -ieuc -oeuc -w
言語: ja_JP.ujis
文字コード: euc
CONFDIR: /etc/namazu
LIBDIR: /usr/share/namazu/pl
FILTERDIR: /usr/share/namazu/filter
TEMPLATEDIR: /usr/share/namazu/template
対応メディアタイプ:
  application/excel
  application/msword
  application/pdf
  application/powerpoint
  application/x-bzip2
  application/x-compress
  application/x-gzip
  application/x-js-taro
  message/news
  message/rfc822
  text/hnf
  text/html
  text/html; x-type=mhonarc
  text/plain
  text/plain; x-type=rfc
  text/x-roff

と、対応メディアタイプでほぼ全てのメディアを認識
しているのですが、cronからmknmz -Cとすると

・・・・
対応メディアタイプ:
  application/pdf
  application/x-bzip2
  application/x-compress
  application/x-gzip
  message/news
  message/rfc822
  text/hnf
  text/html
  text/html; x-type=mhonarc
  text/plain
  text/plain; x-type=rfc
  text/x-roff

となって、Office文書系のメディアを認識していないこ
とが分かりました。
とりあえず、解決策として、rootのcronで、インデックス
作成を行うユーザにsuしてmknmzを実行するようにしました。
すると、ちゃんとOffice文書も認識するようで、今のところ
問題ありません。解決策が適切なものではないと思いますが
ソースの内容が理解できるほどのスキルを持ち合わせており
ませんので・・・

rootのcronで実行しているshell scriptは

#!/bin/bash
# Create Namazu index

# log file_name
log_file="/root/NMZ_index.log"

# Index Directory
idx_dir1="/nmz_indexes/foo"
idx_dir2="/nmz_indexes/bar"

# Directory
foo_dir="/foo"
bar_dir="/bar"

# foo User
su - foo <<END > $log_file
echo '---------- foo Index ----------'
/usr/bin/mknmz -C
/usr/bin/mknmz -O $idx_dir1 $foo_dir
exit
END

# bar User
su - bar <<END >> $log_file
echo '---------- bar Index ----------'
/usr/bin/mknmz -C
/usr/bin/mknmz -O $idx_dir2 $bar_dir
exit
END

です。参考になれば・・・

では。