blog_ajax_json_search.jsにパッチ:コメントも含めて検索
なおゆきさん(サイト『暴想』)作の全文検索スクリプトは、記事本文の全文検索が出来るようになっていますが、コメントまで含めて検索が出来たらもっと便利そう……。と前々から思っていました。
で、考えてみたら、『ココログプロとかTypepadとかMTとかブログ人とかその他のブログサービスとかでもAjaxでバックナンバーを検索するJavaScript』の方であれば、テンプレートを変更するだけでいけそうだと思ったので試してみたところ、うまくいったみたいなのでメモ書きしておきます。
テンプレート(search_data.txt)を以下のように変更して保存・反映すれば、コメントも含めて検索出来るようになります。
{
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行目を、
修正したスクリプトはこちら。
ついでに、
- ハイライト処理で表示が崩れることがあったのを修正(といってもcocolog_ajax_search.jsの処理をそのままコピーしただけ)
- 検索語をなにも指定せずに検索したとき表示される記事の件数が実際の件数より1多かったのを修正
『暴想: 自分のココログを全文検索するJavaScript』(cocolog_ajax_search.js)の方でも同様のことが出来れば、フリーやベーシックなんかでも使えるんですけど……こちらはarchive.htmlから辿って、(月毎等の単位でひとつのHTMLにまとまった)バックナンバーを順次取得するようになっているのですが、バックナンバーの中にはコメントまでは含まれていないのですよねぇ。
個々の記事を地道に取得するようにすれば可能ですが……速度的に難点が。もっと上手い方法はないですかねぇ。
« 宅配について | トップページ | 平安って古代ですよね? »
「ウェブログ・ココログ関連」カテゴリの記事
- 久しぶりの投稿がココログへの苦言というのもなんなのですが……(2019.03.20)
- ココログをTwitterカードに対応させてみる(2016.11.23)
- 【覚書】風柳亭(ココログプロ)をレスポンシブWebデザイン化(Bootstrap3使用)(2015.10.09)
- ココログ用全文検索 - ココログ最強検索を jQuery を使って作り直してみた(既知の不具合の幾つかに対応)(2015.09.01)
- 現在に生きるということ。(2013.01.05)
「パソコン・インターネット」カテゴリの記事
- Twitter 原寸びゅー:PC版ブラウザ用・Twitterの画像閲覧と保存がはかどる拡張機能の紹介(2016.02.12)
- スマートフォンをPC上の音楽を再生するためのリモコンとして使いたい(2016.01.10)
- BIGLOBE光ネクスト(大阪)の通信速度問題 - プロバイダ選びは難しい……(2015.08.13)
- BOOK☆WALKER さんに関して最近経験した不安と不満(2015.08.10)
- 『#鳥獣戯画制作キット』が楽しい(2015.07.01)
「おもいつき」カテゴリの記事
- ココログをTwitterカードに対応させてみる(2016.11.23)
- 神使の兎 ~宇治神社にて~(2016.07.10)
- Twitter 原寸びゅー:PC版ブラウザ用・Twitterの画像閲覧と保存がはかどる拡張機能の紹介(2016.02.12)
- スマートフォンをPC上の音楽を再生するためのリモコンとして使いたい(2016.01.10)
- 【覚書】風柳亭(ココログプロ)をレスポンシブWebデザイン化(Bootstrap3使用)(2015.10.09)
「覚書」カテゴリの記事
- 鍛高譚 ~ カレイにまつわる物語(2018.05.25)
- ココログをTwitterカードに対応させてみる(2016.11.23)
- 神使の兎 ~宇治神社にて~(2016.07.10)
- Twitter 原寸びゅー:PC版ブラウザ用・Twitterの画像閲覧と保存がはかどる拡張機能の紹介(2016.02.12)
- スマートフォンをPC上の音楽を再生するためのリモコンとして使いたい(2016.01.10)
コメント
トラックバック
この記事へのトラックバック一覧です: 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_... [続きを読む]
はじめまして。なおゆきさんのサイトから辿りつきました。
非公開のメモ用にココログを使っているので、この検索システムは大変有り難く使わせていただいています。
ところで、このスクリプトでキーワードを検索することはできないでしょうか。素人解釈で、<$MTEntryKeywords$>などを入れ込んでみたのですが、まるきり歯が立ちませんでした。御教えいただけると幸いです。
投稿: lem | 2009/07/10 13:19
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>"
のようにして試してみると、キーワードも検索でひっかかって来ましたが、できない場合もあるということでしょうか……。
投稿: 風柳>lem さん | 2009/07/10 19:48
ありがとうございます。コピペしたら上手く行きました。
調子に乗ってもうひとつなんですが、風流さんのスクリプトにリンクしようとするとエラー(now searching................が続く)になってしまいます。
上にある文字列をコピーして、なおゆきさんの検索用HTMLに嵌め込んでいるつもりなのですが…。何か原因になりそうなことがありましたら、御教えいただけると助かります。
投稿: lem | 2009/07/10 22:43
| 何か原因になりそうなことがありましたら
たぶん……ですが、原因がわかった(*1)と思いますので、本サイトに置いてある
https://furyu.tea-nifty.com/script/blog_ajax_json_search.js
の方を修正しました。
よろしければ、もういちど置き換えて試していただけますか?
(*1) 読込んでいる prototype.js のバージョン違いのため。prototype.jsを使わずに検索データを取得するように修正しました。
投稿: 風柳>lem さん | 2009/07/11 02:26
ありがとうございます!うまくいきました。
スクリプトをblog_ajax_json_search.jsに置き換え、prototype.jsへのリンクを消しました。
これで長文の検索にも不安がなくなりました。本当にありがとうございました。
投稿: lem | 2009/07/11 09:45