21 releases (10 stable)

Uses new Rust 2024

new 2.0.0 Jan 11, 2026
1.3.1 Jan 4, 2026
1.3.0 Dec 30, 2025
1.1.1 Oct 27, 2025
0.38.1 Dec 6, 2024

#2129 in Text processing

MIT license

36KB
422 lines

Overview

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.

Build extension

% cargo build --features=embed-cjk

Set enviromment variable for Lindera configuration

% export LINDERA_CONFIG_PATH=./resources/lindera.yml

Then start SQLite

% sqlite3 example.db

Load extension

sqlite> .load ./target/debug/liblindera_sqlite lindera_fts5_tokenizer_init

Create table using FTS5 with Lindera tokenizer

sqlite> CREATE VIRTUAL TABLE example USING fts5(content, tokenize='lindera_tokenizer');

Insert data

sqlite> INSERT INTO example(content) VALUES ("Linderaは形態素解析エンジンです。ユーザー辞書も利用可能です。");

Search data

sqlite> SELECT * FROM example WHERE content MATCH "Lindera" ORDER BY bm25(example) LIMIT 10;

Dependencies

~30–49MB
~828K SLoC