TOP > FAQインデックス > 対応サーチエンジンを増やしたい



≫対応サーチエンジンを増やしたい

dopvSTAR*はデフォルトで以下のサーチエンジンの検索キーワード、検索サーバの判定に対応しています。

*最新版では対応状況が異なる可能性があります。
  • .google.co.jp,q
  • .google.com,q
  • .yahoo.co.jp,p
  • search.msn.co.jp,q
  • www.infoseek.co.jp,qt
  • .goo.ne.jp,MT
  • .excite.co.jp,search
  • ask.jp,q
  • search.dmoz.org,search
  • search.fresheye.com,kw
  • search.biglobe.ne.jp,q
  • search.nifty.com,Text
  • www.alltheweb.com,q
  • livedoor.com,q
  • technorati.jp,query

数にして15ですが、実際は、もっと多くの検索サービスに対応します。

google.co.jp を例にあげると、ウェブ検索・イメージ検索・ニュース検索・グループ検索・ディレクトリ検索の全てに対応しています。
Yahoo!でも同様にダイジェスト・カテゴリ・サイト・ページ・画像・動画・音声・辞書・電話帳・ 商品検索に対応しています。
その他の検索エンジンでも同様に、同一ドメイン内の検索サービスに対応します。

このようなこ柔軟な対応が可能な理由は、検索エンジン・キーワードの抽出ルーチンにあります。

大まかに以下の様な流れで処理がされます。

  1. URLに「?」が含まれているか判定
  2. クエリーを分解する
  3. 検索エンジンデータベースを参照
  4. 検索フレーズを抽出

特に、検索エンジンデータベースを参照の処理は Perl ならではの処理で少ないデータベースで多くの検索サービスに対応することを可能にしています。

そして、その検索エンジンデータベースを編集することで、デフォルト以外の検索サービスに対応させることができます。

検索エンジンデータベースは /dat/ref/db_sengn.txt というファイルです。
拡張子の通り、普通のテキストファイルですが改行コードが LF なので、メモ帳では編集できません。
改行コード LF に対応したテキストエディタで編集してください。

db_sengn.txtを開くと、以下の様な内容になっています。

.google.co.jp,q
.google.com,q
.yahoo.co.jp,p
search.msn.co.jp,q
www.infoseek.co.jp,qt
.goo.ne.jp,MT
.excite.co.jp,search
ask.jp,q
search.dmoz.org,search
search.fresheye.com,kw
search.biglobe.ne.jp,q
search.nifty.com,Text
www.alltheweb.com,q
livedoor.com,q
technorati.jp,query

1行の構成は、検索エンジンのサーバ名の一部(検索エンジンで検索した時のURLの「?」より前の部分)と、検索フレーズのキーがカンマで区切られています。

検索エンジン,検索フレーズのキー

例えば、google.co.jp で「TEST」をウェブ検索すると、

http://www.google.co.jp/search?hl=ja&q=TEST&lr=
というURLになります。

イメージ検索なら、

http://images.google.co.jp/images?q=TEST&hl=ja&btnG=Google+%E6%A4%9C%E7%B4%A2
となります。

どちらもURLの「?」より前では、.google.co.jp が共通しています(スラッシュまで含めてもかまいませんが、できれば短い方が良い)。
検索フレーズはどちらも q=TESTです。
この「q」が検索フレーズのキーになります。
他のGoogleニュース検索・グループ検索・ディレクトリ検索も同様です。

もうひとつ解説しておくと、yahoo.co.jp で「TEST」を検索すると

http://search.yahoo.co.jp/bin/search?p=TEST&fr=top&src=top&fr=top
というURLになります。

カテゴリ検索なら、

http://search.yahoo.co.jp/bin/search?p=TEST&fr=top%2c+top&h=c
となります。

したがって、データベースでは

.yahoo.co.jp,p
となります。

したがって、デフォルトで対応していない検索エンジンに対応させるには、上記ルールに従った行をdb_sengn.txtに追加すればOKです。

例えば、検索結果をクラスタ化する機能で注目の検索エンジン Clusty に対応させるとします。

clusty.com で「TEST」を検索した時のURLは、

http://clusty.com/search?query=TEST
なので、db_sengn.txt
clusty.com,query

という行を追加します。

最後に、メンテなしの追加データベース例を挙げておきます。

.yahoo.com,p
clusty.com,query
vivisimo.com,query
www.altavista.com,q
allabout.co.jp,qs
www.infofreako.com,string
www.lisa.co.jp,key
www.marsflag.com,key
www.gigablast.com,q
bulkfeeds.net,q
.blogpeople.net,keyword
blog.with2.net,key

TOP > FAQインデックス > 対応サーチエンジンを増やしたい
(C) bayashi.net