Python Sqlite3 部署FTS5 中文拼音全文检索 simple分词器
import sqlite3
import sys
# 连接到SQLite数据库
conn = sqlite3.connect('example.db')
cursor = conn.cursor()
# 创建FTS5虚拟表,使用simple分词器,并建立全文索引
cursor.execute('''
DROP TABLE IF EXISTS fts;
CREATE VIRTUAL TABLE fts USING fts5(
content TEXT,
tokenize=simple
);
''')
# 向虚拟表中插入数据
cursor.execute('INSERT INTO fts(content) VALUES (?)', ('你好 世界',))
cursor.execute('INSERT INTO fts(content) VALUES (?)', ('你好 世界 编程',))
# 执行全文检索
cursor.execute('SELECT * FROM fts WHERE fts MATCH ?', ('"你好" OR "世界"',))
# 打印查询结果
for row in cursor.fetchall():
print(row)
# 提交事务并关闭连接
conn.commit()
conn.close()
这段代码演示了如何在SQLite中使用FTS5和simple分词器进行中文拼音的全文检索。首先,它创建了一个FTS5虚拟表,并指定了使用simple分词器。然后,向虚拟表中插入了两条记录。最后,执行了一个全文检索查询,搜索包含“你好”或“世界”的记录。
评论已关闭