*** 必要なライブラリなど [#d00d4c3b]
- libiconv
- zlib
- 組込みデーターベース QDBM
*** [[QDBM 組込みデーターベース:http://qdbm.sourceforge.net/]] のインストール[#aa001cfd]
- インストール パッケージ -------> &ref(qdbm-1.8.75.tar.gz);
[root@spirit download]# tar xvvf qdbm-1.8.75.tar.gz
[root@spirit download]# cd qdbm-1.8.75
[root@spirit qdbm-1.8.75]# ./configure --enable-zlib
[root@spirit qdbm-1.8.75]# make
[root@spirit qdbm-1.8.75]# make check
[root@spirit qdbm-1.8.75]# make install
*** [[Mecab (日本語形態素解析器):http://mecab.sourceforge.net/#install-unix]] のインストール [#dc85e372]
- インストール パッケージ(本体) -------> &ref(mecab-0.96.tar.gz);
[munakata@spirit download]$ tar xzvf mecab-0.96.tar.gz
[munakata@spirit download]$ cd mecab-0.96
[munakata@spirit mecab-0.96]$ ./configure
[munakata@spirit mecab-0.96]$ make
[munakata@spirit mecab-0.96]$ make check
[munakata@spirit mecab-0.96]$ su
[root@spirit mecab-0.96]# make install
- インストール パッケージ(辞書) -------> &ref(mecab-ipadic-2.7.0-20070610.tar.gz);
[munakata@spirit download]$ tar xzvf mecab-ipadic-2.7.0-20070610.tar.gz
[munakata@spirit download]$ cd mecab-ipadic-2.7.0-20070610
[munakata@spirit mecab-ipadic-2.7.0-20070610]$ ./configure
[munakata@spirit mecab-ipadic-2.7.0-20070610]$ su
[root@spirit mecab-ipadic-2.7.0-20070610]# /sbin/ldconfig -n /usr/local/lib
[root@spirit mecab-ipadic-2.7.0-20070610]# exit
[munakata@spirit mecab-ipadic-2.7.0-20070610]$ make
[munakata@spirit mecab-ipadic-2.7.0-20070610]$ su
[root@spirit mecab-ipadic-2.7.0-20070610]# make install
- 動作確認
[munakata@spirit ~]$ mecab
本日は晴天なり
本日 名詞,副詞可能,*,*,*,*,本日,ホンジツ,ホンジツ
は 助詞,係助詞,*,*,*,*,は,ハ,ワ
晴天 名詞,一般,*,*,*,*,晴天,セイテン,セイテン
なり 助動詞,*,*,*,文語・ナリ,基本形,なり,ナリ,ナリ
EOS
*** [[Hyper Easter:http://hyperestraier.sourceforge.net/]] のインストール [#he25d58d]
- インストール パッケージ -------> &ref(hyperestraier-1.4.10.tar.gz);
[munakata@spirit hyperestraier-1.4.10]$ tar xxzvf hyperestraier-1.4.10.tar.gz
[munakata@spirit download]$ cd hyperestraier-1.4.10
[munakata@spirit hyperestraier-1.4.10]$
[munakata@spirit hyperestraier-1.4.10]$ ./configure --enable-mecab
[munakata@spirit hyperestraier-1.4.10]$ make
[munakata@spirit hyperestraier-1.4.10]$ make check
[munakata@spirit hyperestraier-1.4.10]$ su
[root@spirit hyperestraier-1.4.10]# make install
*** hyperestaet index 生成コマンド [ estcmd ] [#a906b2be]
- estcmd
-- cl :
-- cm
-- fh : 対象ファイルを全て HTML として処理する
-- fm : 対象ファイルを全て MIME として処理する
*** 自動インデックス生成スクリプト [#pac8345b]
- &ref(hyper_index.sh);
[root@spirit script]# cat /root/script/hyper_index.sh
#!/bin/sh
#
# [gather] = インデックスにファイルを追加する
# -cl : 上書きされた文章が含んでいた語句のインデックスを再構築 (ゴミを削除する)
# -cm : インデックス内に存在しないか、前回登録時より更新日時が新しい文書のみを登録(差分更新)
# -ic : 処理対象文書の文字コードを指定 (UTF-8, EUC-JP, ISO-2022-JP, Shift-JIS など)
# -il ja : 文字コードの判定時に日本語を優先
# -fm : 処理対象のファイルを全て MIME として扱います
# -pc : ファイル名/ディレクトリ名の文字コードの設定
# -sd : ファイルの作成日時と更新日時をインデックスに記録 (差分更新の準備)
HYPER_BINDIR=/usr/local/bin
HYPER_IDXDIR=/var/www/html/pukiwiki/hyperest/index
# --------------------<< 初期化 >>----------------------------------------
# 検索用 index の追加 (メール検索高速化、データのジャンル分け)
if ![ -x /var/www/html/pukiwiki/hyperest/index/hyper_index ]; then
$HYPER_BINDIR/estcmd create -attr @genre str -attr subject str -attr from str -attr @mdate seq -attr @size seq $HYPER_IDXDIR/hyper_index
fi
# ---------------------<< メールデータの検索 >>----------------------------
find /home/munakata/Maildir -type f |
egrep .*spirit.hmuna.com* | egrep -v spam |
$HYPER_BINDIR/estcmd gather -fm -cl -pc EUC-JP -il ja -cm -kn 32 -um -aa @genre munakata $HYPER_IDXDIR/hyper_index -
find /home/stored_mail/Maildir -type f |
egrep .*spirit.hmuna.com* | egrep -v spam |
$HYPER_BINDIR/estcmd gather -fm -cl -pc EUC-JP -il ja -cm -kn 32 -um -aa @genre stored_mail $HYPER_IDXDIR/hyper_index -
find /home/public_mail/Maildir -type f |
egrep .*spirit.hmuna.com* | egrep -v spam |
$HYPER_BINDIR/estcmd gather -fm -cl -pc EUC-JP -il ja -cm -kn 32 -um -aa @genre public_mail $HYPER_IDXDIR/hyper_index -
# --------------------------<< pukiwiki >>----------------------------------
# 現状 pukiwiki/attach には拡張子がないので検索できない (egrep で落ちる)
# ---------------------------<< Prospect >>---------------------------------
# MS-Word/PowerPoint データの検索
find /opt/documents/prospect/ -type f |
egrep "(.ppt|.doc|.xls)$" |
$HYPER_BINDIR/estcmd gather -cl -fx ".doc,.xls,.ppt" "H@estfxmsotohtml" -fz -ic UTF-8 -sd -cm -kn 32 -um -aa @genre prospect $HYPER_IDXDIR/hyper_index -
# Pdf データの検索
find /opt/documents/prospect/ -type f |
egrep .pdf$ |
$HYPER_BINDIR/estcmd gather -cl -fx ".pdf" "H@estfxpdftohtml" -fz -ic UTF-8 -sd -cm -kn 32 -um -aa @genre prospect $HYPER_IDXDIR/hyper_index -
# ----------------------------<< Renesas >> ---------------------------------
# MS-Word/PowerPoint データの検索
find /opt/documents/renesas/ -type f |
egrep "(.ppt|.doc|.xls)$" |
$HYPER_BINDIR/estcmd gather -cl -fx ".doc,.xls,.ppt" "H@estfxmsotohtml" -fz -ic UTF-8 -sd -cm -kn 32 -um -aa @genre renesas $HYPER_IDXDIR/hyper_index -
# pdf データの検索
find /opt/documents/renesas/ -type f |
egrep .pdf$ |
$HYPER_BINDIR/estcmd gather -cl -fx ".pdf" "H@estfxpdftohtml" -fz -ic UTF-8 -sd -cm -kn 32 -um -aa @genre renesas $HYPER_IDXDIR/hyper_index -
# ----------------------------<< Other >> ---------------------------------
# MS-Word/PowerPoint データの検索
find /opt/documents/linux/ /opt/documents/given_document/ -type f |
egrep "(.ppt|.doc|.xls)$" |
$HYPER_BINDIR/estcmd gather -cl -fx ".doc,.xls,.ppt" "H@estfxmsotohtml" -fz -ic UTF-8 -sd -cm -kn 32 -um -aa @genre other $HYPER_IDXDIR/hyper_index -
# Pdf データの検索
find /opt/documents/linux/ /opt/documents/given_document/ -type f |
egrep .pdf$ |
$HYPER_BINDIR/estcmd gather -cl -fx ".pdf" "H@estfxpdftohtml" -fz -ic UTF-8 -sd -cm -kn 32 -um -aa @genre other $HYPER_IDXDIR/hyper_index -
# ----------------------------<< メンテナンス処理 >>-------------------------
# [purge] = 削除された文章のインデックスを削除する
$HYPER_BINDIR/estcmd purge -cl $HYPER_IDXDIR/hyper_index
# [extkeys] = キーワードを抽出して補助インデックスとキーワードデータベースへの登録
# わかち書きを併用することにしたので、インデックス生成時にキーワード登録も行う方法に変更した
#$HYPER_BINDIR/estcmd extkeys $HYPER_IDXDIR/hyper_index
*** Mailbox (Dovecot imap 形式) から index を生成する [#qdd66fba]
[root@spirit index]# estcmd gather -cl -fm -cm public_mail /home/public_mail/Maildir/
*** estcmdとestseek.cgiには複数のインデックスを横断的に検索する機能はありません [#e10c9a60]
ー 一括で検索するには、異なる種類のデータをひとつのインデックスに格納して、ジャンル属性をつけることによって区別するとよいでしょう。例えば、メールとWebコンテンツをジャンル分けして登録するには、以下のようにします。最初にインデックスを作る時だけestcmd createで属性インデックスを張るのがポイントです。
estcmd create -attr @genre str casket
estcmd gather -fm -il ja -aa @genre mail casket /home/mikio/mailbox
estcmd gather -fh -il ja -aa @genre web casket /home/mikio/public_html
ー estseek.cgiにおいては、estseek.confのgenrecheck属性を設定することによって、検索対象となるジャンルをチェックボックスで選んで検索することができます。例えば、上記のインデックスに対しては以下の設定をするとよいでしょう。
genrecheck: mail{{!}}メール
genrecheck: web{{!}}Webコンテンツ
*** ファイルプロトコルの問題 [#m28d8734]
- 検索結果の各文書のURIをファイルプロトコル(「file://」で始まるURL)の形式で表示する場合には、そのURIを選択した際の挙動がブラウザによって異なることに注意しなければなりません。
- &color(orange){Mozilla FirefoxやNetscapeのデフォルトの設定では、ファイルプロトコルのURLをブラウズすることはできません。アドレスバーに「about:config」と入力してから「security.checkloaduri」の値を「false」にする必要があります。};
*** 参考 URL [#q09fbe88]
- [[ML(ja):http://sourceforge.net/mailarchive/forum.php?forum_name=hyperestraier-users-ja]]
- 紹介プレゼン -----> &ref(he-sigmodj.pdf);
- http://piro.sakura.ne.jp/latest/blosxom/software/2006-08-07_modestraier.htm