Web SQL Database で全文検索

id:secondlife さんの Google Chrome 拡張ことはじめ - 川o・-・)<2nd life に触発されて、全文検索ライブラリを作った。

SafariChrome (dev 版) でこのテストページを開くと自動的にテストしてくれる。コンソールを開いておいたほうが動きがあっておもしろいと思う。

やってることは、Wikipedia から適当に抜き出した 900 ページの冒頭の部分をせっせとインデックスして、さらにいくつかの単語で検索をかけている。何故 1000 じゃなくて 900 かというと、データベースがいっぱいになっちゃうから仕方なく減らした。だいたい1分〜100秒ぐらいで終わると思う。

その次にこっちのデモページにアクセスすると、さっき作ったインデックスを使って検索できる。


ソースは MIT ライセンスで GitHub に置いてある。

インターフェイスはけっこう考えて作ったつもりだけど、とりあえず一つ Chrome Extension を作ってみて、それからまた変える部分を考える。

感想


作り始めた当初の目的は、はてな本文抽出ライブラリと組み合わせてはてぶ Extension に全文検索機能を付けることだったんだけど、Wikipedia をインデックスしてみて、とてもじゃないが足りないと思った。1記事1万文字ぐらいと仮定すると、300記事ぐらいしか保存できない。twitter なら140文字なのでだいたい2万件ぐらい保存できる。でも140文字ぐらいだったら単に LIKE で検索したほうがいいんじゃないかな?

Extension から使えるデータベースの容量は既に 50MB になってた。ちょっとは使い道があるかも。http://src.chromium.org/viewvc/chrome?view=rev&revision=32884