タイトルの通り、SQLiteを使ってAndroid端末内でお手軽に日本語全文検索する方法です。 FTS SQLiteにはFTSという全文検索用モジュールがサポートされているのでそれを使う。 最新版はFTS4で、Android APIレベル11以上なら標準で使えるようなのでFTS4を使う。 公式ドキュメント SQLite FTS3 and FTS4 Extensions N-gram FTS標準のトークン作成処理はスペース区切りにしか対応していないので、日本語の場合、自分でトークンを作成する必要がある。トークン作成には、お手軽にトークンを作成できるN-gram方式を採用する。 以下が指定した値(N)でN-gram変換するだけのNgramクラス。 /** * N-gramクラス * @author shikato * */ public class Ngram { private Ngram(
$ cat /etc/lsb-release DISTRIB_ID=Ubuntu DISTRIB_RELEASE=18.04 DISTRIB_CODENAME=bionic DISTRIB_DESCRIPTION="Ubuntu 18.04.2 LTS" $ sqlite3 --version 3.29.0 2019-07-10 17:32:03 fc82b73eaac8b36950e527f12c4b5dc1e147e6f4ad2217ae43ad82882a88bfa6 $ mecab --version mecab of 0.996 ビルド環境の構築 ビルドに必要なパッケージのインストール sqliteはソースからコンパイルして、$HOME/usrにインストール(fts5を有効化) mecabはソースからコンパイルして、$HOME/usrにインストール 辞書はmecab-ipadic
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く