ajax_json_seach スクリプトにDid you meanのようなもの

この記事は、公開日時より1年以上経過しています。最新の情報のご確認をお願いします。
誰が使うのか?みたいなものです。検索結果が0件だったとき、近そうなキーワードを提示するというもの。

var didumean;
/* はじめに先頭の箇所に宣言しておきます */

// Add by Digiclo
function build_no_result_html( result_data, keywords ) {
var html =
____ 略 ____
;
html += '<p style="color:red"><em>もしかして:' + didumean + '</em></p>';
html += '</ol></div></div>

return html;
}

/*
Digiclo氏のAdd function 内に上記を追加します。
*/


// ADD Did you mean by maRk
function did_u_mean() {
var suggestion={ "てすt":"てすと","てst":"てすと", "tes":"test" };
if (search_keyword in suggestion){
didumean = suggestion[search_keyword];
// alert(didumean);
return didumean;
}
}

/* この関数は全体の最後にでも追加しておきます。*/

【追記:関数の追加箇所】

if ( result_data.length == 0 ) {
did_u_mean();
result_html = build_no_result_html( result_data, keywords ); // Pached by Digiclo


あとおせっかいで怒られそうですが、build_no_result_html()のol内にliが入らずにpとかがはいるのは文法違反かとおもうのでol要素は削除するなど。

*下書きなので解説無しで体裁がイマイチですが気分がよければ書き直してアップします

blog_ajax_json_search.jsファイルへの制限memo

この記事は、公開日時より1年以上経過しています。最新の情報のご確認をお願いします。

記事検索に便利なblog_ajax_search_json_search.jsなのですが、なんでかしらんけどウチとこのjsファイルがよそ様で稼動していたっぽいです。。

Compressorかけたから解読しにくいし、めんどくてそのままウチのほうからロードしてるのかもしれない。
もともと配布されているものなので、作者様か二次配布されているところから(CC2.1のようです)もってくればいいとは思うんですけどね。
その辺はまあいいんだけども。
あまりこのようなのがヒンパンにおこなわれるのもなんですんで、使用するサイトの制限をかけるようにしてみました。
jsファイルに対しサーヴァ側でリファラが自分とこ以外なら蹴るという対策もあるわけですが、ロケーションが自分とこのページでないときには関数の実行をおこなわないように改造すれば動かなくてあきらめるでないかなーという考え。

MT向けのに限っていえば(もともとはココログ向けだったり) blogAjaxJsonSearch()関数が検索メインの関数となってます。
で、この関数の実行は、Ajax.Request()の実行により検索データから検索をおこなうしくみなのでAjax.Request()が実行される前に条件式をおいておけばいいことになります。
blogAjaxJsonSearch()のはじめのほうにこれをいれておく(localhostのとこは実際は自分のところのURL)。変数は任意なんですけど今使ってるのははminimumなのでa , bとか短い変数になってる。

  • var my_site = 'http://localhost/';
  • var gt_loc=document.location.href;

つぎに変数に値を渡すとこsearch_keyword = text;の前に条件式をおく。条件が真のときのerr()関数はあとで作っておく。

  •    if (gt_loc.indexOf(my_site)!=0){ err(); }  else {

――でblogAjaxJsonSearch()関数の最後に

  • }

を追記(しとかないとスクリプトがエラーに)。
err()関数は、全体の最後にでも適当につくっておく。

function err(){
   alert('error!!');
   result_content.innerHTML="Sorry, Cannot search at This Page.";
   return undefined;
}

以上カスタマイズメモでした。 オリジナルと作者様のページは以下です。
ココログプロとかTypepadとかMTとかブログ人とかその他のブログサービスとかでもAjaxでバックナンバーを検索するJavaScript: 暴想:

WordPressとMovable Typeのウェブ検索比較について

この記事は、公開日時より1年以上経過しています。最新の情報のご確認をお願いします。

小粋空間さまにて、WordPressとMovable Typeの検索レポートの記事があがっていました。統計系のネタは結構すきなもので。

なんかいつの間にかブログ名がタイトルのあとになっていたようですが。。

詳細は記事を参照ということで感想を述べますと、そろっとCMS名のみのワードでの比較には打ち止めされてもいいのかなあと。
検索エンジンが年間の人気検索キーワードのランキングを公開したりすることがありましたが、それとあまり変わりがないように思うんですね。
検索したヒトが、CMSを導入したいと考えてさがしてるのか、CMS利用してるんだけどここのところはどうしたらいいんだろうかというのをさがしてるのかを単にCMS名による検索語だけで判断するにはもう少し踏み込んだ調査も必要なのではないかと考えます。

ですので検索ワードのデータのみで人気・不人気を判断するのは勝手ですけれども自分としては参考情報に過ぎないなあと思うのです(ちょっとハズしてるかもしれないけど)。

話はかわりますが、ウチの所だけでいうと最近のMT関連の検索語でふえてきてるのが、MTタグ(テンプレートタグ)の記述によるものでしょうか。
すでに使われているかたからすると求めいているのは逆引きの利用方法などではないかと想像します。それだけMT4になってタグでいろいろとできるぞ、というのが広まってきたのではないかなと。

また、WordPressでもMovable Typeでもそれぞれフォーラムをもっていますので利用者が知りたい情報を得る手段がWeb検索のみでもなくなったような気もするのですね。

Deliciousの検索バー、日本語とおんない??

この記事は、公開日時より1年以上経過しています。最新の情報のご確認をお願いします。

deliciousのアドオン入れると入るのだとおもうんだけど、日本語がとおらないっぽいので、結局Search Pluginファイルを自前で用意するとした。。自分とこだけかな

情報の整理

この記事は、公開日時より1年以上経過しています。最新の情報のご確認をお願いします。

Movable TypeのAjax検索に関してぐぐってみると、単にAjax検索といっても、いくつかの種類にわかれていることに気づく。
従って自分が求めている情報に最短でたどりつくにはある程度予備の知識があったほうがいいようにおもう。
MTにおける、Ajaxな検索については大きく分けると、以下の3つと思われる

  1. Google AJAX APIを利用した検索窓を設置
  2. JSON形式のファイルをAJAXな通信で読み込、高速な検索を実現するもの
  3. Movable Type 4,2より検索結果テンプレートにAJAXな検索が採用されたという内容

1.については、http://code.google.com/intl/ja/apis/ajaxsearch/web.htmlにあるように、Google AJAX Search APIを利用してサイト内にウェブ検索を導入するもの。

2.は、暴想のなおゆきさん提供のAjax検索用のJavaScriptで全文検索をおこなうというもの。dakinyさんよりMovable Type向けのコードが配布されている。(今日のMovable Type:Ajaxを利用したMT用超高速検索システムはスゴすぎる!

3.はMovable Typeがもつ機能についての内容。解説は小粋空間のyujiroさんが記事にあげており、Movable Type 5用のドキュメントも存在する。

mt4でインストールしたときの最初の記事。

この記事は、公開日時より1年以上経過しています。最新の情報のご確認をお願いします。

Googleで「Movable Type 4へようこそ!」で検索したのですが。。
 なんというか、MTユーザのトラックバックセンター的な何か(?

blog_ajax_json_search.jsとかで。。

この記事は、公開日時より1年以上経過しています。最新の情報のご確認をお願いします。

密かに(謎)MT用のAjax高速検索システムを導入とかやっていました。そのなかで一寸きづいたことをメモ程度に。
参考にしているのは、以下

で、検索用のページをこさえて、WolaWolaさまのように別ページに移動するようにしてみたわけです。その辺はあとでもう少し丁寧に書くのでよいとして、

今回気になったのが、blog_ajax_json_search.jsにおいて、

  •  search_data.txt

がブラウザから読み込めない場合があるってことです。
そのファイル(search_data.txt)だけ表示させようとすると、

Firefoxで「内容符号化 (Contnet-Encoding) に問題があります」となってしまった。

この対応は、キャッシュとか履歴を消すことで解消されたのですが(参考)、、
blog_ajax_json_search.jsがsearch_data.txtが読み込まれることを前提としているみたいでして、データの要素が見つからなかった場合のパッチを当てないといけないようなかんじ。その前にtxtファイルがそのようになる原因を突き止めないとアレですが。

あと、元のページに戻るためのリンク「Go Back Page」はlocation.reload(true)なので、たぶん別ページ移動の場合はhistory.back(); return false; あたりかと。

それと、結果のページのリンクに #search_word=' + search_keyword … とあるのが何をするためのものかよくわからかったなあ。 #自分はパラメタにしておいたけど。

ポイントサイトの検索とか

この記事は、公開日時より1年以上経過しています。最新の情報のご確認をお願いします。

最近の検索でポイントのようなとこのリファラがいくつかあるのですけど。
なんかタダで情報収集ってのは飽き足りないっていうのかなあ。
#Firefoxアドオンの記事をOperaで探すって。。たいていのヒトはFirefox使うでしょうし。。

検索スパムの話

この記事は、公開日時より1年以上経過しています。最新の情報のご確認をお願いします。

小粋空間さまのところで検索によるスパムが観測されているとのこと。

問題は検索クエリがわかれば直接叩けるってとこですかね。検索スパムというと「検索エンジンスパム」とごっちゃになりそうなんですけど、しかしこれは何を目的とするのでしょうねぇ。とりあえずログのチェックをしておいたほうがよさそう。