暇で死んでしまいそうだ。»2005.12.03ココログプロとかTypepadとかMTとかブログ人とかその他のブログサービスとかでもAjaxでバックナンバーを検索するJavaScriptココログベーシック、プラスの人はこっち。自分のココログを全文検索するJavaScriptつーことで、タイトルの通りのようなモノを作りました。今回はココログプロを使っている人向けです。前回作ったcocolog_ajax_search.jsだと、ココログのHTML構造に依存しているため、独自のテンプレートを使っている人はまったく動きませんでした。今回のはココログプロの人でもオッケーです。今回の方が検索速度もぐっと速いはず。そのかわり、HTMLのテンプレートをいじれないと使えないのでココログプロしか使えません。逆に言えば、テンプレートさえ作れればココログ以外でも使えます。Japanとかブログ人とか。その気になれば他のブログサービスでも使えるんじゃないでしょうか(わかんないけど)。検索用の専用テンプレートを作ります。新規テンプレートの作成で適当に名前を付けて、ファイル名も適当に例えば「search_data.txt」とかにしてください。以下のテンプレートをコピペして保存してもらえればOK。あー、あと、lastn="3000"のところは、自分のブログの記事数より明らかに大きい数を設定しておいて下さい。MTタグで全部のバックナンバーをロードっていう指定の仕方がわからなかったのでこうしてます(誰かやり方教えて下さい...)。""}]}-----------------------------------んで、検索ボックスを貼り付けたいところ、例えばsidebar.incあたりに以下の検索ボックス用HTMLを貼り付けて下さい。ポイントとして、赤字の部分は自分のブログのディレクトリに合わせて変更して下さい。ようはさっき作ったテンプレートのファイルのパスを書いて下さいって事です。value="検索"></form>-----------------------------で、最後に注意点が一つ。これは迷ったんだけど、出力先。class="content"></div>の間に出力するように作ってあります。これがないと検索できても検索結果が表示されません。ことで、独自にテンプレートをカスタマイズしている人でこれがないって言う人は適当に作って下さい。いうと、ちゃんと綺麗に検索結果を表示させるならば、真ん中の記事表示エリアを上記divで全体を囲ってあげる必要がある。囲み方は、ココログベーシックの標準テンプレートみたいに、centerの内側に置いてあげる感じ。この方式は僕もどうかと思うけど、まあ、しょうがないのでこういう風にしました。何か意見をもらえれば参考にしますので、コメントがあったらよろしくです。ところで、一個重要な問題として、僕はココログプロのアカウントを持っていないんですねぇ。Tigerさんあたりが使って動作確認をしてくれたりすると非常に助かるかもとかと言ってみるテスト(笑)あー、ちなみに名前は「blog_ajax_json_search.js」という風にしてみました。使っている技術そのままです。ココログプロ使っていて、上に書いてあることがよくわかんないやって人はこれとか読むと良いと思う。暇で死んでしまいそうだ。「ウェブログ・ココログ関連」カテゴリの記事インターポットのロゴが中吊りにいた(2012.11.10)ココログ広場はどれくらい「重い」のか。(2012.07.07)つぶやき欄でブログの宣伝をした場合、注意書きが赤くなるようになった件について(2011.10.01)インターポットは1つのアカウント(=土地)が1つの星なんじゃないだろうか(2011.09.10)「ハローキティ」のデザイナーの「山口裕子」さんが普通にココログ広場でつぶやいている件について(2011.08.26)「JavaScript」カテゴリの記事ブログパーツガーデンに、拙作ブログパーツが紹介されました。(2007.04.17)ココログ最強検索(cocolog_ajax_search.js)をブログパーツ対応した。(2007.04.12)カレンダーで、いろんな人が動かなかったのを修正(2007.02.28)密かに、閏年に対応。(2007.02.27)ココログ最強カレンダー(cocolog_ajax_calendar.js)をリリース(2007.02.26)コメント今日は娘の保育園のお楽しみ会だったもので、テストが遅くなりました。(^^)ココログベーシックにあわせたアーカイブテンプレートを作ればできるかなぁとは思っていたものの、ちょっと非効率化かなぁと手を出しかねていたところなのでした。本当にありがとうございました。Tigerさんおぉ!早速ありがとうございました!うまく動いているみたいでよかったです。23:29はじめまして、Tigerさんとこで見て、早速入れてみました。ココログ始めて以来の衝撃でした。実は、上級テンプレートいじるのは初めてだったのですが、Tigerさんのソースを盗みつつ何とかできました。本当にありがとうございました。11:06はじめまして。MovableType3.2ですが問題なく導入できました。検索ものすごく早くなって便利度かなりアップです。ありがとうございます。02:33はじめまして。私のブログでもありがたく導入させていただきました。これはかなりの感動ものですね。本当にありがとうございました。15:58なおゆき様、初めまして。貴ブログ提供の全文検索を暫く前から有難く使わせていただいておりますブログ人ジャンプコースユーザーです。拙ブログではパスワード保護をかけている為、Google辺りを設置するわけにも行かず......ブログ内だけで完結させることが出来るこのスクリプトのおかげで、大変助かっております。MTタグで全部のバックナンバーをロードっていう指定の仕方がわからなかったのでこうしてます(誰かやり方教えて下さい...)。先日、自ブログ用にモジュールをカスタマイズしようと、元ネタにする為のTypePadのモジュールを漁っておりましたところ、それらしきMTタグを見付けました。all="1">というのがそれです。archives-fullというモジュールの中に入っていました。all="1">に書き換えて走らせてみましたところ、問題なく動作致しました。差し替えてしまっても大丈夫なのではないかと思います。以上、なおゆき様の御参考になれば幸いです。M.Sさん素晴らしい!とても貴重な情報ありがとうございました。そんなオプションがあったのですね。...、all="1"ですか...。typepadのウェブサイトにそんな詳細な解説ページがあることも知りませんでした...。ドキュメントの更新をしたいと思います。本当に、ありがとうございました。21:18再びお邪魔しております。MTのテンプレートタグのリファレンスページhttp://www.sixapart.jp/movabletype/manual/mtmanual_tags.htmlのMTEntriesの項には全エントリを表示する為の属性値は載っておらず、なので最初は、存在しないのかなーと思っておりました......。ブログのカスタマイズを繰り返す内に、TypePadのサイトの中に何気なく、MovableTypeのサイトのリファレンスに載っていないMTタグ/属性値が置かれていることに気付いた次第です。物凄い早さでレスが付いていたので吃驚しました(汗)。なおゆき様のお役に立てたようで良かったです。存在に今ごろ気がついて早速適用し、その快適さに感動しております。ところで、これを使用していると、検索結果後のリンク先記事で表示が崩れることがあることに気がつきました。関数では対処がなされている模様。内のhighlight()関数も更新していただけると幸いです。『コメント一覧/トラックバック一覧を記事毎にまとめて表示するJavaScript』(日付範囲指定つき)http://furyu.tea-nifty.com/annex/2006/04/javascript_5a9f.htmlなるものを作成してみました。......のはいいのですが、知人でココログプロを使用している人がいないため、誰にも設置してすらもらえない自己満足に終わりそうな気配です(苦笑)。なにはともあれ、大変役に立つ情報を公開して下さったなおゆきさんに感謝いたします。00:30テンプレートの方をいじるだけで、コメントまで含めた検索が出来るということに気がつきました。これでますます便利に(?)。http://furyu.tea-nifty.com/annex/2006/05/blog_ajax_json__94c8.htmlついでに、JavaScriptの方もハイライト処理他何点か気付いた点を修正させていただきました。02:30はじめまして^^ブログ内検索でもっと高速にするには...と、ネットを徘徊してこちらの記事見つけました。́・ω・`)どうもありがとうございます。00:53おはようございます。導入させていただきました、とっても速かったのです(^_。ところで、日本語だけではなく、「スペースでAND検索が出来ます」とかの文字が英語とか、中国語にも表示したいですが、どうすればいいですか。ikiasさんhttp://www.ikias.com/blog_ajax_json_search.js↑のファイルをダウンロードして、テキストエディタで開いて、日本語で書かれている該当部分を翻訳したい言語に置き換えて、再アップロードすればOKです。検索ってのを探していてこのサイトにたどり着きました。改造して利用させて頂いてます。詳細な情報ありがとうございました。16:44はじめまして、素晴らしいプログラムなので、仕事(MTにて)で利用させていただきたいと思っておりますが、クライアントの案件のため、できればコピーライトを消させていただければありがたいのですが、その場合の条件などございますでしょうか。fieldさんなるほど、このプログラムのライセンスを明記していませんでしたので、ソースコードのヘッダーに明記いたしました。検索結果に表示されるフッターは消してしまってかまいませんし、自由にソースコードを改変して2次配布してもかまいません、というライセンスを明記してあります。http://creativecommons.org/licenses/by-sa/2.1/jp/deed.jaライセンスにもかかれていますが、出力中のコピーライトは消してもかまいませんが、ソースコード中のライセンス表記は消さないでください。23:55あ、ちなみにこれ。23:55XMLを使った検索システムは考えていたのですが、Ajaxは思いつきませんでした。Type用にカスタマイズして使わせていただきました。1人でも多くの方に、このソースが行き渡ることを願います。ありがとうございました。blog_ajax_json_search.js"を消して使わせていただきます。本当に素晴らしいプログラムで、感動しました。ありがとうございます。15:52はじめまして。有意義なスクリプト、ありがたく使わせていただきました。ありがとうございます。間に出力するように作ってあります。されていますが、うちでは“最後”に出現する箇所に検索結果が表示されてしまいます。直せるページは自分のところのテンプレートを書き換えて対応しましたが、一部のページで大がかりな修正が必要となることが判明しまして、できればこの仕様通り、最初に出現する箇所で表示していただけると嬉しいのですが...。お借りしている身なので、難しいようでしたら諦めるのですが、どうかよろしくお願いします。class="content"></div>」の位置のことです。03:04こちらでコメントもされているhttp://www.dakiny.com/">dakiny様がサイトで紹介されていたことでスクリプトを知りました。MT3.34に導入させていただきました。本当に素晴らしいものをありがとうございます。11:50はじめまして。構築中のテストサイトで使ってみました。searching」の後に「...........................................................................」が延々と表示され続けるときがあります。皆さんうまく動作しているようなので、私のミスだと思うのですが、予想されるミスはありますでしょうか?宜しければご教示頂けないでしょうか。02:22はじめまして。小粋空間さんの「検索オプションをつける」を研究中にこちらのサイトにたどり着きました。"title"や"body"等にして色々テストしてみたのですが、指定したオプションの条件は無視されました。本来「エントリー」にはタイトルと本文の両方を含むもので、やはりその二つを個別に検索対象にするのは難しいでしょうか?検索スピードも素晴らしいし、検索語句のハイライト表示も非常に気に入っております。本当にステキなものをありがとうございます。matsuさんできる、できない、という意味でしたら「簡単にできる」という解答になります。僕が作るか作らないか、という意味でしたら不明です。14:01>なおゆきさんありがとうございます。できる、しかも「簡単に」ということだとわかりましたので、もうちょっと色々調べて頑張ってみようと思います。早々にコメントいただき感謝いたします。15:43よいものをつくってくださりありがとうございます。ひとつだけ報告なのですが、もしかしたら私だけ?と焦ってることがあります。Safariの場合のみ、検索結果が変わってしまいます。やってみたのですが、日本語が検索語に含まれているとその語がエントリ内にあるにもかかわらず、検索結果がゼロになっちゃいます。文字コードに問題があるのかと思いまして、最初eucでやっていましたのをutf-8の環境に移行しました。結果は変わらずでした。他のブラウザでは問題ありません。Safariだけへんなんです。この件はいろいろと探してみたのですが、同じ症状のひとは見つかりませんでした。私だけなんだろーなーと思っているのですが、もしなにか解決法等をご存知でしたらご教授ください。23:56すみません。ひとついいわすれました。Type3.34にて運用中です。23:58>tinkerさんあー、既知の問題です。原因もわかっていて、SafariのJavaScriptは日本語の文字を正規表現で正しくマッチングできないんですね。昔はできていたのに、最近のバージョンだとできないみたいです。cocolog用の検索エンジンの方はその不具合を回避したんですけど、MT用の方はほっておいたままなので、その不具合の影響が残っていますね。