如何提取 SQLite FTS table 中的所有标记?

How do you extract all the tokens in a SQLite FTS table?

出于调试目的,我想查看 SQLite 中全文搜索虚拟 table 中存在的所有标记。

当我查看我的 FTS table(名为 fts_table)的数据库结构时,我看到以下内容:

但是浏览这些 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

另请参阅: