やってみる

アウトプットすべく己を導くためのブログ。その試行錯誤すらたれ流す。

SQLite3のFTSでトークナイザを実装する方法について調べてみた

全文検索の方法がN-gram方式形態素解析方式の2種類に大別されることがわかった。

調べてみた

FTS3 + 独自トークナイザ(MeCab, C言語)

SQLite Full Text Search with MeCab - mynote

FTS3インタフェースだが、形態素解析ツールMeCabを使って全文検索するトークナイザを実装している。

私はFTS5インタフェースで実装したい。まだ理解していないが、順位付けも自分で実装せねばならないのかもしれない。

FTS4 + 独自トークナイザ(MeCab, Perl)

Perlで日本語全文検索できるCPANモジュール作りました - 俺とお前とlaysakura

だれかFTS5の日本語検索ができるPythonモジュールを作成してくれていないかな。

FTS3 + 標準トークナイザ + N-gram分割データ

kennyjのブログ(仮): sqliteを利用した日本語での全文検索実験

N-gramとは何かわかっていない。たぶん半角スペース区切りでキーワードを抽出するのだろう。それをFTSテーブルに挿入するのだろう。

所感

そういえばN-gramとか形態素解析あたりについて未調査だった。これを調べねば実装できない。