Follow Us.RSS

2008年7月22日(火)Google AJAX Search でサイト検索!

サイト検索を埋め込むスクリプトを作ってみました

Google Ajax Search API を利用してサイト検索ができるスクリプトを作ってみました。このサイトの左上に(こっそり)ある検索ツールがそれです。

下記の特長があります。

  • 外部 JavaScript を読み込んで使用するので、各ページへの記述を少なくすることができます。
  • このサイトでそうしているように、検索ボックスをフロートさせることができるので、既存のページデザインを崩さずにサイト検索を導入することが出来ます。
  • 「gsearch_site = 'YOURSITE.CO.JP/~your_directory/';」のように、検索対象となるサイトがドメイン直下でない場合、自動的に "inurl:" オプションを追加します。
  • Google Ajax Search API が動作しない環境では、Google フリー検索を表示し、同等のサイト検索機能を提供します。

今すぐダウンロード

使い方はスクリプトファイルに記述されています。同梱の gsearch.html に使用例が記述されていますので、そちらも参考にしてください。

なお、「gsearch_box_enabled = false」として読み込むと、検索ボックスをフロートさせるための記述が省かれ、Google AJAX Search API の提供する検索欄がそのまま表示されます(表示・非表示を切り替えるボタンが省略されます)。

すでに同様のスクリプトがいろいろと公開されていますが、何かの役に立てるかもしれないので公開します。ライセンスは MIT ライセンスです。

最新のブラウザでは Google AJAX Search API で、古いブラウザでは Google フリー検索で、サイト検索を表示します。

実はあんまり「使えない」...

公開しておいてなんなんですが、実はこのサイト検索、あんまり使えません。Google AJAX Search API が返す検索結果は、Google 本家とは少々異なるようなのです。

Google AJAX Search API の検索結果表示では広告が表示されません。そこで、できるだけ「その他の結果」をクリックさせて、広告の表示される Google 本家へ誘導しようとしているのでしょう。Google AJAX Search API の返す検索結果は、本家のダイジェスト版といったかんじになっています。ただ困ったことに、検索結果が少ないと1件も結果が表示されず、「その他の結果」へのリンクすら表示されないのです。

サイト検索では、検索にヒットするページ数が少ない場合が多々あります。そのため、Google 本家でサイト検索をすると検索結果に表示されるのに、Google AJAX Search API を通してサイト検索をすると、結果が一件も表示されない、といったことが起こります。

正直ちょっと期待外れでしたが、無料でここまでできるのはありがたいですね。

広告が表示されてもよい場合は、Google Custom Search Engine を使ってサイト検索を実現する方法もあります。こちらは Google 本家と同等の検索結果が出るようです。広告を免除される有料版もあります。

コメント

ボンダイ-ニコリン

左上の虫眼鏡アイコンをクリックしてください

Google AJAX Search API を利用したサイト検索は、左上の虫眼鏡アイコンをクリックすると表示されます。アイコン横のテキストボックスは、Namazu によるサイト検索です。

記事では検索結果に不足があると書きましたが、最近は Google AJAX Search API によるサイト検索でも、本家サイトと同等の結果を返すようになった気がします。CGI の出力も捉えてくれるので、便利ですね。

CMONOS スタッフ ちー (2009年7月30日(木) 午後1時13分52秒)

トラックバック

関連記事

[画像]

CMONOS.JP | 開発者ブログ | Google Maps API v3 に対応しました

2010年9月15日 ... Google Maps API v3 に対応しました。API キーが必要なくなったほか、ストリートビュー の操作が Googleマップと同様のものとなり、分かりやすくなりました。
https://cmonos.jp/blog/2010091500/1.shtml
[画像]

CMONOS.JP | 開発者ブログ | PayPal をもっとわかりやすくする方法

2010年1月16日 ... PayPal API のオプション「LandingPage」を使おう! PayPal の SetExpressCheckout API には、「LandingPage」というオプションがあります。これは、 ユーザーが PayPal に移動したとき最初に表示するページを指定するものです。
https://cmonos.jp/blog/2010011600/1.shtml
[画像]

CMONOS.JP | 開発者ブログ | PayPal ってこんなにすごい!

2009年12月7日 ...API 信用証明書は、PayPal の「個人設定」「アカウント情報」「API アクセス」から取得 できます。 APIアクセスの画面. 「APIアクセス」画面。「オプション 2- API 信用証明書を 請求して API ユーザー名とパスワードを作成します」の「API 証明書の ...
https://cmonos.jp/blog/2009120701/1.shtml
[画像]

CMONOS.JP | 開発者ブログ | PayPal API 実装 TIPS

2011年4月26日 ... PayPal API を実装する上で、ポイントとなるフィールドについて解説します。ツクルゥ〜ノ !ミセテェ〜ッニャッ!
https://cmonos.jp/blog/2011042601/1.shtml
[画像]

CMONOS.JP | 開発者ブログ | Google カスタム検索で関連ページを表示

2014年1月22日 ... これまで「関連ページ一覧」フィールドタイプは、無料の Google Web Search API を 利用していましたが、同 API が非推奨とされてから3年が経ち、いよいよ不安定となっ てきましたので、Google カスタム検索 API を利用するよう変更しました。
https://cmonos.jp/blog/2014012200/1.shtml
[画像]

CMONOS.JP | 開発者ブログ | 地図で物件検索!「不動産サイト」

2010年3月15日 ... サイトテンプレートを適用するには? サイトテンプレートを適用する前に、Google マップ を使えるようにしましょう。サイト URL に対応した「Google Maps API キー」を取得し、「 セットアップアシスタント」の「管理者情報変更」で「Google Maps API ...
https://cmonos.jp/blog/2010031502/1.shtml
[画像]

CMONOS.JP | 開発者ブログ | GoogleMaps で線分の距離を測ろう!

2008年8月11日 ... Google マップの地図があると場所が分かりやすくていいですね。 そこで、CMONOS.JP の GoogleMaps 埋め込みフィールドで使われている gmap.js を公開しました。 ライセンスは MIT ライセンスです(Google の提供するAPI部分を除く)。
https://cmonos.jp/blog/2008081100/1.shtml
[画像]

CMONOS.JP | 開発者ブログ | さくらで、快適 CMONOS.JP!

2009年7月17日 ... 2010年3月15日 ... サイトテンプレートを適用するには? サイトテンプレートを適用する 前に、Google マップを使えるようにしましょう。サイト URL に対応した「Google Maps API キー」を取得し、「 セットアップアシスタント」の「管理者情報変更」 ...
https://cmonos.jp/blog/2009071700/1.shtml
[画像]

CMONOS.JP | 開発者ブログ | 導入事例の裏側大公開!「東龍」様 編

2010年11月25日 ... CMONOS.JP | 開発者ブログ | Google Maps API v3 に対応しました. 2010年9月15日 ... Google Maps API v3 に対応しました。API キーが必要なくなったほか、ストリート ビューの操作が Googleマップと同様のものとなり、分かりやすくなり ...
https://cmonos.jp/blog/2010112500/1.shtml
[画像]

CMONOS.JP | 開発者ブログ | ショッピングカートが個別キャンセルと個別 ...

2014年5月2日 ... PayPal での支払いについては、PayPal の払い戻し API を利用しますので、即座に 払い戻しが実行されます。ただし、PayPal の取り引きID(トランザクションID)が 期限切れとなっていると、払い戻しに失敗しますのでご注意ください。その場合、 ...
https://cmonos.jp/blog/2014050200/1.shtml

更新情報

最近の記事

RSS

カレンダー



[日]
[月]
[火]
[水]
[木]
[金] 1
[土] 2

[日] 3
[月] 4
[火] 5
[水] 6
[木] 7
[金] 8
[土] 9

[日] 10
[月] 11
[火] 12
[水] 13
[木] 14
[金] 15
[土] 16

[日] 17
[月] 18
[火] 19
[水] 20
[木] 21
[金] 22
[土] 23

[日] 24
[月] 25
[火] 26
[水] 27
[木] 28
[金] 29
[土] 30

[日] 31
[月]
[火]
[水]
[木]
[金]
[土]


[日]
[月]
[火] 1
[水] 2
[木] 3
[金] 4
[土] 5

[日] 6
[月] 7
[火] 8
[水] 9
[木] 10
[金] 11
[土] 12

[日] 13
[月] 14
[火] 15
[水] 16
[木] 17
[金] 18
[土] 19

[日] 20
[月] 21
[火] 22
[水] 23
[木] 24
[金] 25
[土] 26

[日] 27
[月] 28
[火] 29
[水] 30
[木] 31
NEXT>>

PC 向けページに移動する