出于调试目的,我想查看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/

10-09 20:24
查看更多