Torisugariの日記: Wikipediaのインクリメンタルサーチ その2
日記 by
Torisugari
ここ2ヶ月ほど拡張を書いていなかったので、去年の6月の日記に概要だけ書いた、Wikipediaのインクリメンタルサーチを実装してみることにしました。
書き始めた頃は、ハッシュテーブルか配列で全てのトークンをメモリ上に展開するつもりだったので、さすがにスクリプトではキツいと思ってC++にしたのですが、途中でsqliteにしたので、今にして思えば、検索部分はJavaScriptでも良かった気がします。そこのアルゴリズムは十分速いので。ただ、ウェブ上のデータを取ってきた後に、それをソートするのに3分ほどかかるので(日本語版Wikipediaは20秒くらい)、それをJavaScriptでやるのはいくらなんでもムリな気がします。その3分ソートの部分はバックグラウンドのスレッドで処理しているので、またしてもGecko1.9に依存することになってしまいました。
結局、「実装の手間」と「Firefox2.0でも使いたい」の二律背反を解決するには、
インクリメンタルサーチする拡張 → JavaScript、(Firefox2.0でも使える)
その時に使用するSQLファイルを生成する拡張 → C++ (Firefox 3.0専用)
という風に拡張を分けておくのが一番いいのですが、本当にJavaScriptに移植するかどうかは意欲と相談しないといけません。
Wikipediaのインクリメンタルサーチ その2 More ログイン