以前にも挑戦した全文テキスト検索 HyperEstraierで、Webクローラーを構築。ローカルファイルだけではなく、Web上の検索を自前でできるようになるというもの。Googleのようにはいかないけれど、イントラネット内に複数のサーバがあるときには、便利かも。
まずはHyperEstraierのディレクトリでコマンドラインをたたく
estwaver init casket
これでcsketディレクトリに、_confファイルができるのでこれを修正する。先頭の基点となるURLを記述すればいい。あとはコメントにしたがって、検索の深さなどを設定する。
続いて、インデックスの作成
estwaver crawl casket
estwaver crawl -restart casket 再作成ならこちら
estwaver crawl -revcont casket 更新するときはこちら
うまくできれば、ずらずらとインデックスが作成される。
つづいて、コマンドレベルで検索することもできる。
検索 estcmd search -vs casket/_index “hyper estraier”
これをWebで検索できるようにするには、先に作っておいたestseek.confを手直しする。
今回は、同じ検索では都合が悪い(こちらはイントラネットのみ)ので、estseek_web.conf などにコピーした。同時に、estseek.cgiもestseek_web.cgiにコピーしておく。
estseek_web.conf では、indexnameの指定に、なぜか_indexが必要みたい。
indexname: casket/_index
後は、ローカルファイル検索のときのままでもいい。正規表現によるURLの置き換えは必要ない。
これでなんとか、イントラネット内のクローラが実現できました。
先頭種ページ?に何を指定すればいいのか、実はまだよく分からない。どうも、そのファイル自体は検索ができない?おまけに、せっかくmeta文に書いたKeywordなどが表示されない。もう少し研究が必要です。
# 参考にさせていただいたのは、こちらのページ:http://kiyoeri.gotdns.org/nucleus/index.php?itemid=402