« SennaのPHPのバインディング | メイン | SQLite本 »

2006年02月18日

mixi Alert 開発日誌:: SQLiteへのSennaの組込み方

    

前回はSQLiteのSQL文を拡張することで対応することを考えていたけど、pg_sennaの実装方法を見て、構文を拡張するのではなく、トリガーとユーザー定義関数のみで実現出来そうだと気付いた。
そのように実装すればSQLite本体に手を加える必要はなくなる。

SELECT create_fulltext_index( 'table_name', 'column_name' );
でインデックスを作り、
SELECT * FROM table_name WHERE fulltext_index_match( 'coluon_name', 'words', true );
と言うように検索をするとか。(このままで実現できるかどうかわからないけど)
fulltext_index_matchの最後のtrueは、集合演算(?)を使うかどうか。
つまり、'+word1 -word2'とかすると、何々を含んで、何々は含まないものと言うようなことが出来るやつ。
MySQLにあったのでそれと同じようなことをするものがあった方がいいなぁと思って付ける事に。

でも、よくよく考えるとmixi Alertではこれを使わないかも。
日記などのバックアップ先はSQLite内ではなく単なるファイルとして保存した方が手軽な気がする。
で、DB内にはそのファイルへの参照やタイムスタンプ、タイトルだけ持てばいい。
本文はSennaでインデックスを作り、別途検索出来ればその方が扱いやすいだろう。
と言うことで、mixi Alertの日記バックアップ機能に関しては、これは使わないな。
Webの方では使うと思うので作るけど。



投稿者 Takenori : 2006年02月18日 21:45




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