2008年9月25日

[mew-dist 28635]HyperEstraierでインデックス更新中でも検索をしたい

はじめまして。
堀江といいます。

HyperEstraierを検索エンジンに使っている場合で、kMでインデックスを更新
中に、k/で検索すると、Emacsが固まってしまいます。

http://hyperestraier.sourceforge.net/uguide-ja.html#tips
を参考に以下のパッチを作ってみました。


取り込んでいただけるとうれしいです。

では。

Index: mewest
===================================================================
RCS file: /cvsmew/mew/bin/mewest,v
retrieving revision 1.19
diff -u -r1.19 mewest
--- mewest 21 Mar 2008 03:59:58 -0000 1.19
+++ mewest 24 Sep 2008 15:16:29 -0000
@@ -12,7 +12,9 @@
RM=rm
MKDIR=mkdir
BASEDIR=${HOME}/Mail
-INDEXDIR=casket
+INDEXDIR_ORG=casket
+INDEXDIR_REPLICA=casket_replica
+INDEXDIR=${INDEXDIR_ORG}
OUTPUT=${OUTPUT:-/dev/null}
LOCK=${BASEDIR}/.mewest.lock
CYGWINENV=no
@@ -126,6 +128,13 @@
fi

if [ -d "${BASEDIR}/${INDEXDIR}" ]; then
+ echo "Replicating index..."
+ if [ -d "${BASEDIR}/${INDEXDIR_REPLICA}" ]; then
+ rm -fr "${BASEDIR}/${INDEXDIR_REPLICA}"
+ fi
+ cp -R "${BASEDIR}/${INDEXDIR}" "${BASEDIR}/${INDEXDIR_REPLICA}"
+ INDEXDIR=${INDEXDIR_REPLICA}
+ echo "Replicating index...done"
echo "Purging old messages..."
${ESTCMD} purge "`path_conv \"${BASEDIR}/${INDEXDIR}\"`" "`path_conv \"${TGTDIR}\"`" > ${OUTPUT} ||\
cleanup_lock_exit "Purging old messages...failed"
@@ -144,6 +153,12 @@
cleanup_lock_exit "Indexing new messages...failed"

echo "Indexing new messages...done"
+if [ "${BASEDIR}/${INDEXDIR}" = "${BASEDIR}/${INDEXDIR_REPLICA}" ]; then
+ echo "Replacing old index with new one..."
+ rm -fr "${BASEDIR}/${INDEXDIR_ORG}"
+ mv "${BASEDIR}/${INDEXDIR_REPLICA}" "${BASEDIR}/${INDEXDIR_ORG}"
+ echo "Replacing old index with new one...done"
+fi

# clean up lock
${RM} -fr "${LOCK}"


投稿者 xml-rpc : 2008年9月25日 00:34
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/77527
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。