lindera-sqlite is a C ABI library which exposes a FTS5 tokenizer function.
When used as a custom FTS5 tokenizer this enables application to support Chinese, Japanese and Korean in full-text search.
% cargo build --features=embed-cjkEach embed-* feature embeds a different set of dictionaries into the built extension:
| Feature | Embedded dictionaries |
|---|---|
embed-ipadic |
Japanese (IPADIC) |
embed-ipadic-neologd |
Japanese (IPADIC NEologd) |
embed-unidic |
Japanese (UniDic) |
embed-ko-dic |
Korean (ko-dic) |
embed-cc-cedict |
Chinese (CC-CEDICT) |
embed-jieba |
Chinese (Jieba) |
embed-cjk |
Japanese (IPADIC) + Korean (ko-dic) + Chinese (Jieba) |
% export LINDERA_CONFIG_PATH=./resources/lindera.yml% sqlite3 example.dbsqlite> .load ./target/debug/liblindera_sqlite lindera_fts5_tokenizer_initsqlite> CREATE VIRTUAL TABLE example USING fts5(content, tokenize='lindera_tokenizer');sqlite> INSERT INTO example(content) VALUES ("Linderaは形態素解析エンジンです。ユーザー辞書も利用可能です。");sqlite> SELECT * FROM example WHERE content MATCH "Lindera" ORDER BY bm25(example) LIMIT 10;