Last Update: "2007/05/11 12:20:58 makoto"
textproc
hyperestraier
Hyper Estraier は
全文検索の一つです。
cd /usr/pkgsrc
cd textproc/hyperestraier
sudo make package
しておきます。
- Project Home
-
http://hyperestraier.sourceforge.net/
- Document
-
http://hyperestraier.sourceforge.net/intro-ja.html
最初に使うもの:
例えば、estcmd gather で索引を作って、estcmd search で検索します。
estcmd gather | 索引を作成
| estcmd search | 検索
|
~/Mail の下の全ての文書 (メール) から索引を作って、それを /export/he/casket に保存するには
例えば次のように入力します。
cd /export/he
estcmd gather -fe -xh -il -ja -sd casket ~/Mail
もし 11 万通くらいあると、次のように終了します。
...
estcmd: INFO: 1128029 (/amd/u/home/makoto/Mail/webcount/999): registered
estcmd: INFO: 1128030 (/amd/u/home/makoto/Mail/zip/elmo-archive.lzh): registered
estcmd: INFO: 1128031 (/amd/u/home/makoto/Mail/zip/elmo-archive.zip): registered
estcmd: INFO: 1128032 (/amd/u/home/makoto/Mail/zip/old-ham.lzh): registered
estcmd: INFO: flushing index words: name=casket dnum=1128032 wnum=16446376 fsiz=5000296848 crnum=7907 csiz=1069813 dknum=0
estcmd: INFO: closing: name=casket dnum=1128032 wnum=16446765 fsiz=5000437768 crnum=0 csiz=0 dknum=0
estcmd: INFO: finished successfully: elapsed time: 10h 58m 49s
ttyq4:makoto@bologna 2:28:10/070410(/export/he)>
ttypd:makoto@bologna 9:50:45/070410(~)> estcmd search 'unsupported type 6' /export/hyperestraier/casket
estcmd: ERROR: unsupported type 6: I/O problem
検索の結果の一覧を表示するだけなら、次のようにします。
ttyq0:makoto@bologna 10:07:04/070410(~)> estcmd search -vu /export/hyperestraier/casket 'hoge'
--------[4C5F5B2B4EE3B5C0]--------
VERSION 1.0
NODE local
HIT 3408
HINT#1 hoge 3408
TIME 0.010232
DOCNUM 1128032
WORDNUM 16446765
VIEW URI
--------[4C5F5B2B4EE3B5C0]--------
408535 file:///amd/u/home/makoto/Mail/ml/PHP-users/15543
641024 file:///amd/u/home/makoto/Mail/ml/mew/7403
641025 file:///amd/u/home/makoto/Mail/ml/mew/7404
619626 file:///amd/u/home/makoto/Mail/ml/mew/10371
646139 file:///amd/u/home/makoto/Mail/ml/mjjp/1106
678258 file:///amd/u/home/makoto/Mail/ml/net-abuse/1314
425509 file:///amd/u/home/makoto/Mail/ml/PHP-users/9139
475365 file:///amd/u/home/makoto/Mail/ml/fedora-jp/3029
647159 file:///amd/u/home/makoto/Mail/ml/mjjp/994
549962 file:///amd/u/home/makoto/Mail/ml/hns-users/302
--------[4C5F5B2B4EE3B5C0]--------:END
ttyq0:makoto@bologna 10:07:08/070410(~)>
更新
最初に作った時に使った操作と同じ、つまり次のようにしてもいいの
ですが、
cd /export/he
estcmd gather -fe -xh -il -ja -sd casket ~/Mail
次のように
-sd -cm を付けると差分登録をしてくれるので、早く済みます。
cd /export/he
estcmd gather -cl -il ja -sd -cm casket ~/Mail
ここで使った選択の説明
-fe | 処理対象の全てのファイルを文書ドラフトとして扱う
| -xh | 1,000,000件以上の文書を登録することを想定して索引を作成
| -il ja | 文字コードの判定で優先される言語を指定
| -sd | ファイルの更新日時を文書の属性として追加
| -cm | 文書の属性の更新日時がファイルの更新日時より古い場合にのみ登録
|
異常停止
estcmd gather の実行中に
計算機が何か別の原因で停止してしまった後など、次のように言われることがあります。
estcmd: ERROR: casket: database problem
その時には、
estcmd repair -rst casket
として修復しておきます。
|