HyperEstraierを使ってDWGファイル検索

namazuではUTF-8に対応させることが出来なかった自分ですが、HyperEstraierを使って検索システムを作ることが出来た。
フィルターにはacadtotextを使わせていただきました。
a2t.tgzに含まれるacadtotextを/usr/bin/にコピーし、
/usr/local/share/hyperestraier/filter/
にestfxpdftohtmlを改造してestfxdwgtotxtを作成しました。

#! /bin/sh
#=============================================
# estfxdwgtotxt
# Convert DWG,DXF into TEXT
#=============================================
# set variables
PATH=”$PATH:/usr/local/bin:$HOME/bin:.” ; export PATH
progname=”estfxdwgtotxt”
# check arguments
if [ $# -lt 1 ]
then
printf ‘%s: usage: %s infile [outfile]n’ “$progname” “$progname” 1>&2
exit 1
fi
infile=”$1″
outfile=”$2″
if [ -n “$ESTORIGFILE” ] && [ -f “$ESTORIGFILE” ]
then
infile=”$ESTORIGFILE”
fi
# check the input
if [ “!” -f “$infile” ]
then
printf ‘%s: %s: no such filen’ “$progname” “$infile” 1>&2
exit 1
fi
# initialize the output file
if [ -n “$outfile” ]
then
rm -f “$outfile”
fi
# function to output
output(){
if [ -n “$outfile” ]
then
cat >> “$outfile”
else
cat
fi
}
# output the result
acadtotext “$infile” - 2> “/dev/null” | output
# exit normally
exit 0
# END OF FILE

これで2,3個ファイルを入れてあるフォルダを指定すると検索できました。[:にかっ:]

estcmd gather -cl -fx “.dwg,.dxf” “T@estfdwgtotxt” -fz -ic CP932 -sd -cm -pc UTF-8 [インデックス] [検索場所]

※libiconvはsambaの時にpatchを当ててあります
※UTF-8環境で使用しているので-pcオプションでpathのコードを指定しいます
玄箱はどうしても処理速度が望めませんね、プログラムビルドをしていてもやはり遅い。
元々私用していたPentiumIII 1GHzのデュアルCPUサーバが今はバックアップサーバとして稼働しているため、こちらをインデックス作成マシンとして活用したい。
ということは玄箱のデータサーバをmountコマンドやsmbmountコマンドを使ってmountしてやり、バックアップサーバから検索機能を提供するのが妥当か。
わざわざP2P機能を使って玄箱からインターフェースを提供する必要もないと思うし・・・(興味はありますけどね
ちょっとやってみたところ、

mount: wrong fs type, bad option, bad superblock on //kurobako/common,
missing codepage or other error
In some cases useful info is found in syslog - try
dmesg | tail or so

と失敗。
まぁ、あとちょっとです。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です