kwLabsにカスタム検索を追加したことを記念して3回にわかって個人ウェブサイトにおけるサイト内検索ネタを書いてみようと思う。今日はGoogleでサイト内検索をする際にどういうものが利用できたかを時系列に考えてみた。
検索システムの導入
検索エンジンがポピュラーになるその昔。ホームページに検索機能をつけようと思うとNamazuのような検索システムを導入する必要があったと思う。しかし、構文解析をしたり、インデックスを作ったり、簡単なようで検索システムというのは結構大変な仕事をしている。この時代にサイトを作ろうとするような人はイノベーターという位置に属する人たちだがそれでも導入は大変だったのではないかと思う。ただ残念なことにこのようなシステムを使っているサイトであまり良い検索ができた記憶がない。
検索エンジンを使う
Googleがメジャーになり、Webで情報を探すことを指す言葉がネットサーフィンよりもググるという言葉が適切になってきたころ、検索エンジンを利用してサイト内検索するTipsがあった。Googleでは検索キーワードに”site:blog.makotokw.com”といった文字を追加するとそのURL以下のサイトで検索を行ってくれる。自分のサイトが滞りなく検索エンジンにクロールされていれば、検索キーワードに”site:○○”という文字列を追加したものをGoogleに投げれば、サイト内検索として使うことができる。Formの使い方さえ知っていれば高度な技術的な知識は必要なかった。
Ajax Search APIとCustom Search Engine
Googleの検索をsubsetとして使うツールとしてAjax Search APIとCustom Search EngineがGoogleから2006年にリリースされる。Custom Search Engineは特定のURL以下(他にもいろいろ機能はあるが)を検索するための検索ボックスやパラメータを簡単な設定で自動的に作ってくれるのでWebの知識があまりない人でも使うことができたと思う。
Ajax Search APIではJavascriptを使って検索結果を取得することができ、site:○○で制限するような機能ももっているのでこれを使ってサイト内検索を行うことができる。APIなのでプログラミングの知識がどうしても必要になるが、その気になればデータの取得だけをAPIで行ってそれをどうデザインして表示するかをコントロールすることもできる(はず、やったことない)。ただ、Custom Search Engineで十分事足りるせいか、Ajax Search APIはもっぱら画像検索や地図検索などサイト内検索以外の用途での利用が多いような気がする。
そんなこんなで現状はGoogleを使ってサイト内検索をするのにはCustom Search Engine(カスタム検索エンジン) http://www.google.co.jp/coop/cse/ を使うのが良さそうだ。
Movable TypeやWordpressのようなブログのツールも検索機能を持っているがやはりGoogle様と比べるとパフォーマンスは芳しくない。(まぁツールよりもインフラの違いによるものが大きいと思うが。。。)
ブログツールの検索機能の方が本文で効果的に検索できるけど、ブログ検索みたいなものもあるし、賢い検索エンジンはサイトがブログであることを判定して、記事の本文はどれかも判断することもできそうだ。そのうちブログツールの検索機能も検索エンジンに依存していくのかもしれない。
というわけでAjax Search APIを使ったMovable Typeプラグインでも書いてみようかなと思う今日この頃。