と、気を取り直して MDImporter でも

上記のエントリは、まぁ BathyScaphe の中での文字列検索部分の改造に失敗したという話なのだが、そのことは当分忘れて、懸案の Spotlight プラグインのアップデートに取りかかることにしたのだった。

とにかく、BathyScaphe といえば「Spotlight 対応なんだー、へぇー」と言うくらいしか萌えポイントがないので、その部分で他のブラウザに並ばれ、ないしは追い抜かれることは(別に争っている訳ではないとはいえ)多少危機感も抱くというものだ。そこで懸案の「全文の内容検索」に足を踏み入れることにしたのだった。


コード自体はそれほど頭を使わなくてもいい。問題はパフォーマンス(動作速度)にどれくらい影響が出るか、ということなのである。それが引っかかって、今までは内容検索の対象をかなり絞り込んでいた。しかし、CocoMonarSevenFour*1があっさりと全文内容検索に踏み切った*2以上、びびっている場合ではなくなった。


そうは言ってもチキンな私は、まず「本文先頭から約 250 KB くらいまでを対象にして、残りは切る」方向でやってみた。短いスレならこの範囲で全文が収まるだろうし、速度も多少は稼げるかな、と思ったのだ。
しかし、これは結論から言うとあまりよくなかった。つまるところ、なぜ速度が重要かというと、ユーザにストレスを感じさせないためなのであるが、250KB に制限してみても、速度はどうしても今までより遅くなる*3し、索引に含まれなかった内容が書かれているはずなのにヒットしない、というストレスの方が増大することに気づいたのだ。


500KB を超えるスレッドはそんなに多くないが、250KB の範囲に全文が収まらないスレッドもけっこう存在する訳で、このさじ加減では結局、ユーザにストレスが溜まるのは明らかだった。上限を 350KB に上げてみても、やっぱり不十分。「そこに書かれているはずなのにヒットしてくれない」ことは、ストレスだけでなく検索結果に対する信頼性の低下にも直結する。これではダメだ。
そういうわけで、結局サイズ制限はかけず、無条件で全文の内容を収集することにした*4。コンピュータには少し負担だろうが、やはり存在しているものは、見つけられなければいけない。


こうして新しい Spotlight プラグインは、とりあえず手元では完成し、引き続き動作試験が行われている最中だ。「Spotlight プラグインを最初に内蔵した2chブラウザ」という、(つまらない)プライドをかけて、これからも頑張っていきたい。

*1:実際は、dat ファイルのインポータだから、ほぼすべての 2ch ブラウザで Spotlight 検索が可能になったとも言えなくはない

*2:パフォーマンスの問題をどう考えているのかは、興味深い所だが…

*3:Spotlight 検索結果表示のリアルタイム更新のタイムラグが結構大きくなるのは事実

*4:もちろん、迷惑レスは除いたり、多少の味付けはしている