全文検索システム Hyper Estraier †
- http://fallabs.com/hyperestraier/
- LGPL
- インデックスを使った高速な検索ができます。
- 大量の文書のインデックスを短時間で作成できます。
- N-gram方式による漏れのない検索ができます。
- 形態素解析とN-gramのハイブリッド機構で検索精度を向上させます。
- フレーズ検索や正規表現検索や属性検索や類似検索をサポートします。
- 世界各国の言語が扱えます。
- 対象文書の所在や形式に依存しません。
- 賢いWebクローラが付属しています。
- ライブラリとして各種製品に組み込めます。
- P2P連携機能をサポートします。
- Namazuと比べて
- 短い文字でも一致する
- インデックスの生成が早い
- cgiが複数インデックスに非対応なので、複数ドキュメントを扱う場合にはジャンルを付与する
phpマニュアルの場合 †
- ダウンロード
wget http://jp2.php.net/get/php_manual_ja.tar.gz/from/jp.php.net/mirror
tar xvfz php_manual_ja.tar.gz
mv php-chunked-xhtml php
rm php_manual_ja.tar.gz
estcmd gather -il ja -cl -sd -cm -kn 32 -um -aa @genre php casket php
vim estseek.conf
----
genrecheck: php{{!}}PHP
----
フレーム分割 †
- フレーム分割
cp index.html _left.html
mv index.html _index.html
perl -00 -p -i -e 's#<a[\n\r\s]+href#<a target="right" href#ig' _left.html
perl -00 -p -i -e 's#(<body[^>]+>)#$1
<form action="../estseek.cgi" method="post" target="right">
<input type="text" name="phrase" id="phrase" size="20" />
<input type="submit" value="検索">
| <a href="../index.html" target="_top" >back</a>
</form>
#i' _left.html
cat > index.html << 'EOS'
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>Manual</title>
</head>
<frameset cols="350,*">
<frame src="_left.html" name="left"/>
<frame src="_index.html" name="right"/>
<noframes>
<body>
<a href="_index.html">Frames are disabled. Click here to go to the main page.</a>
</body>
</noframes>
</frameset>
</html>
EOS
tips †
- 外部からインデックスファイル他にアクセスできないように。
cat > casket/.htaccess << 'EOS'
order deny,allow
deny from all
EOS
cat > .htaccess << 'EOS'
order allow,deny
allow from all
<Files ~ "^(estseek\.conf|estseek\.help|estseek\.tmpl|estseek\.top)$">
deny from all
</Files>
EOS
複数ドキュメントのジャンルによる絞り込み †
複数のインデックスを横断的に検索する機能はない。
よって、異なる種類のドキュメントを一つのインデックスにいれ、ジャンル属性を付けて区別する事ができる。
インストール †
- CentOS5.x向け。Vine Linuxのsrpmをリビルドして使える
- rpm
mkdir rpm
cd rpm
mkdir {BUILD,SRPMS,SPECS,SOURCES,RPMS}
echo "%_topdir $HOME/rpm" > ~/.rpmmacros
- cgiは以下にインストールされる
/usr/libexec/estseek.cgi
フィルタのインストール †
インデックス作成 †