はてなブックマークの全文検索に直ってもらう方法
問題
こないだからブックマークの全文検索 (あのインクリメンタルサーチのやつ) の検索結果がずれてて、何か私悪いことしたんだろうなあと漠然と思ってしばらく放置してたんですが、原因を探ってみたら、厳密には私の仕業ではありませんでした。
はてなアイデアでも似たような報告がありました。画像付きで分かりやすいです。
- はてなアイデア - IE7でユーザーブックマークの検索(インクリメンタルサーチ)が正常動作しません。
- はてなアイデア - 変な検索結果が引っかかる(詳細はコメントに)
- はてなアイデア - ユーザページでの検索時、検索結果が正常に表示されない場合がある
いっこ実装済みになっていますが、別の問題と混同されてるだけみたいです。
原因
で、原因なんですが、http://b.hatena.ne.jp/my/search.data のデータの中身がずれてました。
このデータの前半は三行で一セットで、改行ごとにデータをちょん切っては三つ一組にして、ひとつのブックマークを表すデータにするんですが、たまに行の末尾がきれいにすっぱりしていないとその改行が吸われちゃって、次の行と融合しちゃうんです。
すっぱりしていない末尾というのは、たとえばこういう感じのやつです。
http://b.hatena.ne.jp/entry/q.hatena.ne.jp/1278085703
タイトルが長い (256バイト以上) せいで省略されているのですが、マルチバイト文字が変なところでぶったぎられています。私のところではこのページをブックマークしてからそれ以前のデータがずれまくっていました。
解決法
多分パブリックモードだとタイトルをいじって解決できるのですが、私はずっとプライベートモードで使っているので、その辺は詳しく分かりません。
なので別の方法で解決する事にしました。
目には目を、融合には融合を。
同じように改行が融合しちゃうようなダミーページを自分で作って、それをふたつブックマークしました。1 + 2 = 3 なので、巡り巡って元通りになります。
http://b.hatena.ne.jp/entry/sites.google.com/site/hatenab/dummy%231
http://b.hatena.ne.jp/entry/sites.google.com/site/hatenab/dummy%232
原因になっているブックマークの直前か直後にブックマークしないと意味がないので、原因のブックマークは一旦削除してまた登録し直しました。
併せて twitter につぶやくようにしていたのですが、登録し直してもクリック数などは継続されるみたいです。生成される htn.to の短縮 URL も同じものになります。
コメント欄にすっぱりしていない文字を挿入するのもありかと思いましたが、前述の方法の方が色々楽な気がするので、特に検証はしていません。
欠点
ブックマーク数と登録日はずれたままなので、その辺を気にする場合は使えない方法です。
「* users」と書かれてあるリンクを辿れば実際の登録日とブックマーク数は分かるので、個人的には不便してません。