2015-05-02 26 views
1

为了调试目的,我想查看SQLite中全文搜索虚拟表中存在的所有标记。如何提取SQLite FTS表中的所有令牌?

当我看着我的FTS表(名为fts_table)数据库结构我看到以下内容:

enter image description here

但这些表中浏览数据并没有显示令牌列表(不管我能找到什么)。

如何提取简单的令牌列表?

回答

2

你可以用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 

参见: