1
为了调试目的,我想查看SQLite中全文搜索虚拟表中存在的所有标记。如何提取SQLite FTS表中的所有令牌?
当我看着我的FTS表(名为fts_table
)数据库结构我看到以下内容:
但这些表中浏览数据并没有显示令牌列表(不管我能找到什么)。
如何提取简单的令牌列表?
为了调试目的,我想查看SQLite中全文搜索虚拟表中存在的所有标记。如何提取SQLite FTS表中的所有令牌?
当我看着我的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
参见: