出于调试目的,我想查看SQLite全文搜索虚拟表中存在的所有令牌。
当我查看FTS表(名为fts_table
)的数据库结构时,会看到以下内容:
但是浏览这些表中的数据不会显示令牌列表(无论如何我都找不到)。
如何提取令牌的简单列表?
最佳答案
您可以使用ftx4aux
,直接访问全文本索引。
使用以下SQLite命令:
CREATE VIRTUAL TABLE search_terms USING fts4aux(fts_table);
SELECT term FROM search_terms WHERE col='*';
阅读文档以更好地了解其工作原理,但是
term
列基本上存储令牌,并且col
列中的每个星号(*)实例都是唯一的术语。如果需要将其导出到文本文件,则可以从命令行执行like this的操作:
sqlite> .mode csv
sqlite> .output test.csv
sqlite> SELECT term FROM search_terms WHERE col='*';
sqlite> .output stdout
也可以看看:
SQLite FTS3 and FTS4 Extensions
The Spellfix1 Virtual Table
Command Line Shell For SQLite
关于sqlite - 如何提取SQLite FTS表中的所有 token ?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29997385/