お気に入り | 日本語 | ログイン

サンプル コード

目次


  1. 基本
  2. 検索フォームと結果配置コントロール
  3. ローカル検索とマッピング
  4. サイト制限とカスタム検索エンジン
  5. 検索結果のクリッピング
  6. ブログ内 AJAX 検索
  7. その他のコード サンプル

基本

このセクションでは、コア検索コントロールの基本操作とコントロールの習得に役立つサンプルをお見せします。

  • このサンプルは AJAX Search API の初心者用サンプルです。このサンプルは、基本的な検索コントロールを作成し、多くのサーチャーを実装する方法を示しています。
  • このサンプルは初心者用サンプルに似ていますが、各検索コントロールのセクションを上下に並べて描画するのでなく、タブを使ってサーチャーを切り替えるように検索コントロールが設定されています。ここでは GdrawOptions オブジェクトの setDrawMode() メソッドが使われています。
  • このサンプルは、検索コントロール全体に対する検索結果の数をグローバルに設定する方法と、ローカルに、サーチャーごとに設定する方法を示しています。ここでは、GSearchControl オブジェクトの setResultSetSize() メソッド、または個々のサーチャー オブジェクトの同じメソッドが使われています。
  • このサンプルは、検索コントロール内で個々のサーチャーの拡張モードを制御する方法を示しています。ここでは GsearcherOptions オブジェクトの setExpandMode() メソッドが使われています。
  • GSearchControl のコンテキスト外で検索オブジェクトを使いたいこともあります。このサンプルは、まさにそれを行う方法を示しています。検索を開始し、検索が完了したら応答して、検索結果の HTML 表現を生成する方法を示します。

検索フォームと配置コントロール

このセクションでは、結果セクションまたは検索フォームそれ自身の配置が重要である場合の、検索コントロールの使用法を示すサンプルを扱います。たとえば、多くのブログでは、検索フォームをサイドバーに置き、検索結果をページの中央部に置くのが一般的です。このセクションの例は、そうする方法を示しています。

  • このサンプルは、GdrawOptions オブジェクトの setSearchFormRoot() メソッドを使って検索フォームの配置を制御する方法を示しています。これは、ブログで検索フォームをサイドバーに置き、検索結果をブログのメイン セクションに置く場合に使われる一般的なテクニックです。
  • このサンプルは前のサンプルに似ていますが、ここでは、検索結果の個別セクションの配置を制御する方法を示します。ここでは GsearcherOptions オブジェクトの setRoot() メソッドが使われています。

ローカル検索とマッピング

このセクションでは GlocalSearch オブジェクトの使用法を表すサンプルを扱います。これらのサンプルで示される主要な点は、検索結果を特定の領域にスコープ設定するようにオブジェクトの中央点を設定する方法や、Google マップにプロットされる結果のソースとしてオブジェクトを使う方法があります。

  • このサンプルは、ローカル検索オブジェクトの中央点を制御する方法を示します。
  • このサンプルは、ローカル検索結果を取得して、Google マップ上にプロットする方法を示しています。
  • 各ローカル検索結果に、CSS ルールを使って表現されている、2 種類の経路検索のリンクが含まれています。デフォルトの directions リンクは、現在の検索中央点から検索結果への経路です。別の方法として、アプリケーションの側で、ユーザーが選択した場所と現在の検索結果との間の経路をリンクに表現することができます。このサンプルは、どのタイプの経路検索が表示されるかをアプリケーションでコントロールする方法を示しています。
  • 各ローカル検索結果に、ローカル検索結果を視覚的に表現している地図画像に解決される staticMapUrl プロパティが含まれています。検索結果のサムネイル表現を提供したいだけの場合は、このプロパティを使うのが手早く、効率的です。サンプルは、このプロパティと、関連のサポート メソッドの使用法を示しています。

サイト制限とカスタム検索エンジン

このセクションでは、サーチャーの setSiteRestriction() メソッドを使って、検索結果のセットを 1 つのサイトやカスタムのサーチエンジンにスコープ設定する使い方を示したサンプルを提供しています。GwebSearchGblogSearchGnewsSearch の各サーチャーはいずれもこの基本的なメソッドをサポートしていますが、カスタム検索エンジンへのスコープ設定をサポートしているのは GwebSearch だけです。

  • このサンプルは、GwebSearchGblogSearchGnewsSearch の各オブジェクトの setSiteRestriction() メソッドの使用法を示しています。サイト制限検索では、多くの場合、検索結果セクション ヘッダーにカスタムのラベルを指定するのが有効です。検索結果にカスタムのスタイルを設定するとよい場合もあります。このいずれの関数も、setUserDefinedLabel() メソッドや setUserDefinedClassSuffix() メソッドを使うことでサポートされます。
  • このサンプルは、上のサンプルをもとに、製品レビュー カスタム検索エンジンを酷使して作られたものです。setSiteRestriction() へのさまざまな呼び出しが、すべてカスタム検索エンジン ID を使って行われていることに注意してください。サンプルには、サイト制限と関係がない他のアイディアもいくつか含まれています。GSearchForm オブジェクトを使った複数の検索コントロールの駆動や、検索コントロールや検索結果のスタイルを設定し直すカスタム CSS ディレクティブの使用などです。
  • このサンプルは、上のサンプルをもとに、カスタム検索エンジンの使い方を高度化することによって作られています。右側のサーチャーに対応する setSiteRestriction() の呼び出しで、コードで opt_refinement 引数を使うことで、カスタム検索エンジンの範囲内で 検索結果をさらに制限していることに注目してください。
  • このサンプルは、カスタム検索エンジンの最新強化版である、リンク済みカスタム検索エンジンを示しています。site にオブジェクトを使い、crefUrl プロパティでカスタム検索エンジン定義ファイルの URL を指定していることに注意してください。

検索結果のクリッピング

このセクションでは、検索結果クリッピングの使用法を表すサンプルを示します。これは、ユーザーが検索結果の下にあるリンクをクリックしたときに、その結果をアプリケーションに渡す機能です。このセクションには、この機能を実際に使ったいくつかのサンプルがあります。

  • このサンプルはクリッピングの基本を示しています。このサンプルで使われる主要なメソッドは、検索コントロール オブジェクトの setOnKeepHandler() メソッドです。これにより、各検索結果の下に、クリックするとターゲット ハンドラが呼び出されるリンクが表示されます。このサンプルでは、ターゲット ハンドルは結果の .html プロパティのディープ クローンを作り、次に現在のページにそれをアタッチします。
  • このサンプルが示すメソッドは、前のサンプルのものと同じですが、この例では、サンプルはブログ スタイルのコメント フォーム環境におけるクリッピングの概念を示しています。狙いは、ユーザーによって生成されたコンテンツ (ブログ投稿やコメントなど) を、ユーザーが選択した検索結果を使って拡張する方法を示すことです。
  • このサンプルは .html プロパティ以外の結果プロパティの使い方を示すことによって、クリッピングの基本を拡張しています。この場合、ユーザーが検索結果をクリップするごとにスプレッドシートに行が 1 行追加され、.title.streetAddress を使って列が形成されます。プロパティまた、前のセクションで少し触れた、クリップされた検索結果を地図上にプロットする方法も示しています。

ブログ内 AJAX 検索

AJAX 検索は、非常に人気が高いブログの拡張手段です。ここでは、TypePad と Blogger での AJAX 検索の使用法を示す 2 つのサンプル ブログを構築しました。

  • このサンプルは、Blogger ベースのブログのコンテキストにおけるいくつかの AJAX 検索コンポーネントを示しています。複合コンポーネント (左側の動画ストリップ、右側の動画検索コントロールとマップ検索コントロール) は、このページのサンプルで示したテクニックを使って構築されており、ソリューション (マップ検索動画検索動画バー) およびウィザードとして利用可能です。右上の検索フォームについては前に触れました。これは中央列のタブのある検索コントロールを使って構築されています。検索フォームの位置は、setSearchFormRoot() を使ってサイドバーに置かれています。
  • このサンプルは、ブログ作成ホストが少し異なったテンプレート構造を持つTypePad であること以外は前と同じです。

その他のコード サンプル

このセクションには、上で示したいくつかのコンセプトを 1 つのサンプルに統合した、より高度なコード サンプルへのリンクがあります。これらのサンプルを参考にして、自由に活用してください。

  • これは複合検索結果クリッピングのサンプルで、結果が可変ページ コンテナに入り、検索結果が条件付きスタイル設定されるクリッピングを示しています。
  • これはまた別の複合クリッピングのサンプルで、クリッピングされた動画の検索結果が検索コントロールの検索結果と異なるスタイルに設定される、動画検索結果のクリッピングを示しています。このサンプルでは、「leave me a note (コメントを残す)」リンクをクリックするまで、クリッピング機能が非表示にされていることに注意してください。この非表示機能では基本的な CSS テクニックを使っています。
  • これはさらに複雑なクリッピング サンプルで、ローカル検索、ウェブ検索、クリッピング、Google マップの組み合わせを示しています。