« 宅配について | トップページ | 平安って古代ですよね? »

2006/05/14

blog_ajax_json_search.jsにパッチ:コメントも含めて検索

なおゆきさん(サイト『暴想』)作の全文検索スクリプトは、記事本文の全文検索が出来るようになっていますが、コメントまで含めて検索が出来たらもっと便利そう……。と前々から思っていました。

で、考えてみたら、『ココログプロとかTypepadとかMTとかブログ人とかその他のブログサービスとかでもAjaxでバックナンバーを検索するJavaScript』の方であれば、テンプレートを変更するだけでいけそうだと思ったので試してみたところ、うまくいったみたいなのでメモ書きしておきます。

テンプレート(search_data.txt)を以下のように変更して保存・反映すれば、コメントも含めて検索出来るようになります。

<?xml version="1.0" encoding="utf8"?>
{
data:[
<MTEntries all="1">{
title:"<$MTEntryTitle remove_html="1" encode_js="1"$>"
,link:"<$MTEntryLink$>"
,body:"<$MTEntryBody remove_html="1" encode_js="1"$><$MTEntryMore remove_html="1" encode_js="1"$><MTComments>【<$MTCommentAuthor remove_html="1" encode_js="1"$>】<$MTCommentBody remove_html="1" encode_js="1"$></MTComments>"
},</MTEntries>
{title:"",link:"",body:""}
]
}

あと、JavaScriptの方で検索語のハイライトがコメント部でも効くようにパッチをあてました。
オリジナルの検索ボックス用HTMLの2行目を、

<script type="text/javascript" src="http://java.cocolog-nifty.com/blog/files/javascript/blog_ajax_json_search.js"></script>
から
<script type="text/javascript" src="https://furyu.tea-nifty.com/script/blog_ajax_json_search.js"></script>
に修正すれば、パッチ版を使用できます。
修正したスクリプトはこちら

ついでに、

  • ハイライト処理で表示が崩れることがあったのを修正(といってもcocolog_ajax_search.jsの処理をそのままコピーしただけ)
  • 検索語をなにも指定せずに検索したとき表示される記事の件数が実際の件数より1多かったのを修正
も実施しました。

暴想: 自分のココログを全文検索するJavaScript』(cocolog_ajax_search.js)の方でも同様のことが出来れば、フリーやベーシックなんかでも使えるんですけど……こちらはarchive.htmlから辿って、(月毎等の単位でひとつのHTMLにまとまった)バックナンバーを順次取得するようになっているのですが、バックナンバーの中にはコメントまでは含まれていないのですよねぇ。
個々の記事を地道に取得するようにすれば可能ですが……速度的に難点が。もっと上手い方法はないですかねぇ。

同様の理由でトラックバック一覧も、出来ないことはないけど速度的に厳しい

« 宅配について | トップページ | 平安って古代ですよね? »

ウェブログ・ココログ関連」カテゴリの記事

パソコン・インターネット」カテゴリの記事

おもいつき」カテゴリの記事

覚書」カテゴリの記事

コメント

はじめまして。なおゆきさんのサイトから辿りつきました。

非公開のメモ用にココログを使っているので、この検索システムは大変有り難く使わせていただいています。

ところで、このスクリプトでキーワードを検索することはできないでしょうか。素人解釈で、<$MTEntryKeywords$>などを入れ込んでみたのですが、まるきり歯が立ちませんでした。御教えいただけると幸いです。

lem さん、どうもです。

あれ、<$MTEntryKeywords$>でタグはあっているみたいですが……
当方のサイトの場合、
,body:"<$MTEntryBody remove_html="1" encode_js="1"$><$MTEntryMore remove_html="1" encode_js="1"$>[<$MTEntryKeywords remove_html="1" encode_js="1"$>]<MTComments>【<$MTCommentAuthor remove_html="1" encode_js="1"$>】<$MTCommentBody remove_html="1" encode_js="1"$></MTComments>"
のようにして試してみると、キーワードも検索でひっかかって来ましたが、できない場合もあるということでしょうか……。

ありがとうございます。コピペしたら上手く行きました。

調子に乗ってもうひとつなんですが、風流さんのスクリプトにリンクしようとするとエラー(now&nbsp;searching................が続く)になってしまいます。

上にある文字列をコピーして、なおゆきさんの検索用HTMLに嵌め込んでいるつもりなのですが…。何か原因になりそうなことがありましたら、御教えいただけると助かります。

| 何か原因になりそうなことがありましたら

たぶん……ですが、原因がわかった(*1)と思いますので、本サイトに置いてある
https://furyu.tea-nifty.com/script/blog_ajax_json_search.js
の方を修正しました。
よろしければ、もういちど置き換えて試していただけますか?

(*1) 読込んでいる prototype.js のバージョン違いのため。prototype.jsを使わずに検索データを取得するように修正しました。

ありがとうございます!うまくいきました。

スクリプトをblog_ajax_json_search.jsに置き換え、prototype.jsへのリンクを消しました。
これで長文の検索にも不安がなくなりました。本当にありがとうございました。

コメントを書く

(ウェブ上には掲載しません)

トラックバック


この記事へのトラックバック一覧です: blog_ajax_json_search.jsにパッチ:コメントも含めて検索:

» 激速!「Ajax」でのブログ内全文検索 [Project MultiBurst]
Ajaxを使った、ブログ内の高速全文検索を発見しました。 恐ろしいくらい高速です(^^;) 参考URL MovableType備忘録: ブログ内検索を高速化 風... [続きを読む]

» Movable Type記事検索の高速化 [いるすか]
リンク集で検索できるようになったと喜んでいたのですが,過去ログを全部移植したら,... [続きを読む]

» Ajaxを使ったサイト内高速全文検索エンジンを導入 [ブランドって何だぁ?]
またまた暴想様 から頂戴いたしました。元 [続きを読む]

» 今日のMovable Type:Ajaxを利用したMT用超高速検索システムはスゴすぎる! [世界中の1%の人々へ]
Movable Typeの可能性がAjaxによりまたひとつ、広がった 昨年4月末から悩んでいた事が、あっけなく解決した。 というのは、Movable Typeの検索機能が弱いので、XMLを利用した検... [続きを読む]

» Ajaxによる高速サーチの導入 [デジクロ備忘録]
参考サイト 風柳亭 - 別館:書庫のある庵 -:blog_ajax_json_... [続きを読む]

« 宅配について | トップページ | 平安って古代ですよね? »

戻るリンク追加

カレンダー

2020年3月
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31        

ココログカレンダーPlus(旧2)

検索


    • Web全体 サイト内
    • 蔵書のISBNを入力して下さい
    • はじめる前
      初級者向け
      上級者向け
      ブログ紹介
      結果を表示

コメントリストツリー化

無料ブログはココログ