「Web AI」は、クロノス・クラウンの柳井政和が開発しているJavaScirptのライブラリです。
「Web AI」には、検索をメソッド・チェーンで効率化させる機能があります。この機能を使えば、検索結果を元にして、次の検索を行うといった処理を手軽に書くことができます。
「Web AI」の検索は、「Google AJAX API」を使っています。検索オブジェクトは、「Google AJAX Search API」のサーチャー・オブジェクトになります。また、受け取る結果は、同APIの結果オブジェクトになります。
また、検索結果からのキーワード抽出や、文章抽出の機能もあります。
それでは以下、「Web AI」Google Suggest利用のサンプルを掲載します。※ Google Suggest機能は、ver 1.1 で追加されました。
まずは、実例です。
検索キーワード:以下、ソースコードです。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); }