Google Suggest利用のサンプル - Web AI

Web AI」は、クロノス・クラウンの柳井政和が開発しているJavaScirptのライブラリです。

「Web AI」には、検索をメソッド・チェーンで効率化させる機能があります。この機能を使えば、検索結果を元にして、次の検索を行うといった処理を手軽に書くことができます。

「Web AI」の検索は、「Google AJAX API」を使っています。検索オブジェクトは、「Google AJAX Search API」のサーチャー・オブジェクトになります。また、受け取る結果は、同APIの結果オブジェクトになります。

また、検索結果からのキーワード抽出や、文章抽出の機能もあります。

それでは以下、「Web AI」Google Suggest利用のサンプルを掲載します。※ Google Suggest機能は、ver 1.1 で追加されました。


まずは、実例です。

検索キーワード:





結果1 「検索キーワード」

生データ(res.raw):

単語一覧(res.wrd):

検索語「」を先頭に含む文字列(res.hd):

検索語「」を含まない文字列(res.not):

結果2 「検索キーワード」+「半角スペース」

生データ(res.raw):

単語一覧(res.wrd):

検索語「」を先頭に含む文字列(res.hd):

検索語「」を含まない文字列(res.not):




以下、ソースコードです。Google Suggestの生データ以外にも、取得したデータを加工したデータも受け取れます。引数「hd」「not」を利用すれば、手軽に検索語に続く文句や関連語を取り出すことができます。

	// Googleからスクリプトをロード
	google.load("jquery", "1.4.3");

	// ロード中アニメ
	var loadAnmArr			// ロード中アニメ配列
	= [".(^o^).", "(^o^)..", "^o^)..(", "o^)..(^", "^)..(^o", ")..(^o^", "..(^o^)"];
	var loadAnmCnt = 0;		// ロード中アニメ・カウンター

	// Web AI
	var $WA = crocro.webAi;			// 短縮表記
	var cWSrch = new $WA.WebSrch();	// Web検索

	/**
	 *	【初期化処理】
	 */
	cWSrch.ready(function(){
		prettyPrint();		// ソースの装飾(*説明装飾用)

		cWSrch
		.brand("gglBrnd")	// Googleのブランド表示
		.setEachCall(function(){
			// ステップごとに呼び出される処理を追加
			drwLoadAnm(true);	// ロードアニメ描画
		})
		.start();		// 実行開始
	});

	/**
	 *	@title	【テスト】
	 *	@description
	 *
	 *		テストを行う。
	 */
	function test() {
		// 変数の初期化
		var qStr = $.trim($("#q").val());	// 検索語
		$("#q").val(qStr);
		$(".srchKw").text(qStr);

		// 検索のメソッド・チェーン処理
		cWSrch
		.reset()		// 命令格納のリセット
		.sgst({
			// Google Suggest(単語を検索)
			kw  : qStr,
			res : function(res) {
				$("#res1Raw").html(res.raw.join(" / "));	// 生データ
				$("#res1Wrd").html(res.wrd.join(" / "));	// 単語リスト
				$("#res1Hd").html(res.hd.join(" / "));		// 検索語を先頭に含む
				$("#res1Not").html(res.not.join(" / "));	// 検索語を含まない文字列
			}
		})
		.sgst({
			// Google Suggest(単語の末尾に半角スペースを付けて検索)
			kw  : qStr + " ",
			res : function(res) {
				$("#res2Raw").html(res.raw.join(" / "));	// 生データ
				$("#res2Wrd").html(res.wrd.join(" / "));	// 単語リスト
				$("#res2Hd").html(res.hd.join(" / "));		// 検索語を先頭に含む
				$("#res2Not").html(res.not.join(" / "));	// 検索語を含まない文字列
			}
		})
		.add(function() {
			drwLoadAnm(false);		// ロードアニメ描画
		})
		.start();		// 実行開始
	}

	/**
	 *	@title	【ロードアニメ描画】
	 *	@description
	 *
	 *		ロード中のアニメを描画する。
	 *
	 *	@param	loading		ロード中か否か
	 *	@return	なし
	 */
	function drwLoadAnm(loading) {
		var dwStr = ""
		if (loading) {
			dwStr = "Now Loading... " + loadAnmArr[loadAnmCnt ++ % loadAnmArr.length];
		}
		$("#loading").text(dwStr);
	}

Cronus Crown(クロノス・クラウン)のトップページに戻る
(c)2002-2024 Cronus Crown (c)1997-2024 Masakazu Yanai
ご意見・お問い合わせはサイト情報 弊社への連絡までお願いします
個人情報の取り扱い、利用者情報の外部送信について