5个不稳定版本
0.3.1 | 2024年7月25日 |
---|---|
0.3.0 | 2024年5月20日 |
0.2.2 | 2024年5月20日 |
0.2.1 | 2024年4月16日 |
0.1.0 | 2024年4月15日 |
#1026 在 数据库接口
116 每月下载量
13MB
180K SLoC
libsimple
描述
Rust语言对simple库的绑定,simple是一个支持中文和拼音的SQLite3 fts5分词器。
用法
将以下内容添加到你的 Cargo.toml
[dependencies]
libsimple = "~0.3"
示例
use anyhow::Result;
use tempfile::tempdir;
fn main() -> Result<()> {
libsimple::enable_auto_extension()?;
let dir = tempdir()?;
libsimple::release_dict(&dir)?;
let conn = rusqlite::Connection::open_in_memory()?;
libsimple::set_dict(&conn, &dir)?;
conn.execute_batch("
CREATE VIRTUAL TABLE d USING fts5(id, text, tokenize = 'simple');
INSERT INTO d (id, text) VALUES (1, '中华人民共和国国歌');
INSERT INTO d (id, text) VALUES (2, '周杰伦');
")?;
assert_eq!(1, conn
.query_row("SELECT id FROM d WHERE text MATCH jieba_query('中华国歌')", [], |row| row.get::<_, i64>(0))?
);
assert_eq!(2, conn
.query_row("SELECT id FROM d WHERE text MATCH simple_query('zhoujiel')", [], |row| row.get::<_, i64>(0))?
);
Ok(())
}
许可证
MIT许可证下授权(LICENSE 或 http://opensource.org/licenses/MIT)
依赖
~22MB
~423K SLoC