如何提取 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
另请参阅:
出于调试目的,我想查看 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
另请参阅: