たまには呪文をとなえてみるか:仕事版

アクセスカウンタ

zoom RSS [雑記] SQLiteの全文検索試してみた

<<   作成日時 : 2008/06/25 17:13   >>

ブログ気持玉 0 / トラックバック 0 / コメント 0

こんにちは。
いやあ、夏至の時期は日が長いですね。17時とはまったく思えないぐらいの青空がひろがっています。
おじいさんです。
で、今日も小ネタ。SQLiteの全文検索のハナシです。

本家ページ
 http://www.sqlite.org/cvstrac/wiki?p=FtsUsage

試してみた。文字コードはUTF8です。

$ ./sqlite3-3.5.8.bin test.db
SQLite version 3.5.8
Enter ".help" for instructions
sqlite> CREATE VIRTUAL TABLE t USING fts3(name);
sqlite> .table
t t_content t_segdir t_segments
sqlite> INSERT INTO t VALUES ('This is a test');
sqlite> INSERT INTO t VALUES ('hoge foo bar');
sqlite> INSERT INTO t VALUES ('ソースコード を 見ると、 fts3 は 全部 で 7KL ぐらい です');
sqlite> select * from t;
This is a test
hoge foo bar
ソースコード を 見ると、 fts3 は 全部 で 7KL ぐらい です
sqlite> select rowid from t where name MATCH '7KL';
3
sqlite> select rowid from t where name MATCH '全部で';
sqlite>


スペース区切りのトークンを探してくれます。
最後の例にあるように、スペースをまたいで検索してくれません。

したがって、実用に使うにはまずMecabをかけて形態素解析するか、それともN-gramのように
「ソースコード」を「ソー ース スコ コー ード」に変換して登録してやる必要があります。

さて、ここで問題。
速度と容量はどんなもんなんでしょうかね?
楽しみです。
この記事は5分で読めます。

テーマ

関連テーマ 一覧


月別リンク

ブログ気持玉

クリックして気持ちを伝えよう!
ログインしてクリックすれば、自分のブログへのリンクが付きます。
→ログインへ

トラックバック(0件)

タイトル (本文) ブログ名/日時

トラックバック用URL help


自分のブログにトラックバック記事作成(会員用) help

タイトル
本 文

コメント(0件)

内 容 ニックネーム/日時

コメントする help

ニックネーム
本 文
[雑記] SQLiteの全文検索試してみた たまには呪文をとなえてみるか:仕事版/BIGLOBEウェブリブログ
文字サイズ:       閉じる