« SQLiteとSenna | メイン | Webサービスクラスター »

2006年02月16日

mixi Alert 開発日誌:: SQLiteに全文検索を?

    

MySQLには全文検索用の構文"MATCH(field) AGAINST('検索クエリ' IN BOOLEAN MODE)"というものがあるけど、SQLiteには同じ物はないようだ。
だから全文検索を追加するとしたらそれ用の構文も追加する必要がある。
まあ、MySQLと同じでいいと思うけど。

SQLiteの構文解析器はyaccで書かれている様子。
.lファイルは見付からないので字句抽出器はlexじゃなさそう。

parse.yを見てみた。
yaccの記述方法忘れてる……
左のものは右のパターンで表される。で、右に現れたものを今度は左に書いて……
と記述していくのは何となく覚えているけど、細かい部分はよくわからない。
lex/yacc本を見て思い出さないと。


SQLiteのソースをざっと見た感じではSennaのSQLite組込みはそんなに大変と言うことはなさそう。
でも、まだ必要ないからやるのはもう少し先かな。
1Mぐらいのデータベースファイルであれば、 LIKE %KEY_WORD% で検索かけてもそんなに遅くないし。インデックスがあれば一瞬だろうけど。



投稿者 Takenori : 2006年02月16日 18:02




comments powered by Disqus
Total : Today : Yesterday : なかのひと