我需要将 FTS 添加到现有数据库中。
开始测试外部内容 FTS 表,其中 FTS 索引驻留在默认(主)数据库中。一切都令人满意,除了一些事情(例如索引重建)可能需要相当长的时间。
然后我读到了将 FTS 索引放入附加数据库的可能性。这似乎有几个好处,因此我决定试一试。然而,我所有的尝试都失败了。这里有一些例子:
情况
我们有一个带有文本列“代码”的表“帐户”,并且
想要为该列创建 FTS 索引并将其放入单独的数据库文件中
Test1) ERROR: near ".": 语法错误
ATTACH 'ZipFts.sdf' AS ZipFts; CREATE VIRTUAL TABLE ZipFts.account USING fts4(content=account, code);
INSERT INTO ZipFts.account(ZipFts.account) VALUES('rebuild');
测试 2)错误:堆栈溢出(sqlite 引擎内的无限递归)
ATTACH 'ZipFts.sdf' AS ZipFts; CREATE VIRTUAL TABLE ZipFts.account USING fts4(content=account, code);
INSERT INTO ZipFts.account(account) VALUES('rebuild');
Test3)错误:没有这样的表:ZipFts.account
ATTACH 'ZipFts.sdf' AS ZipFts; CREATE VIRTUAL TABLE ZipFts.ZipFts_account USING fts4(content="account", code);
INSERT INTO ZipFts_account(ZipFts_account) VALUES('rebuild');
Test4)错误:没有这样的表:ZipFts.main.account
ATTACH 'ZipFts.sdf' AS ZipFts; CREATE VIRTUAL TABLE ZipFts.ZipFts_account USING fts4(content="main.account", code);
INSERT INTO ZipFts_account(ZipFts_account) VALUES('rebuild');
有人知道这些东西是如何工作的吗?提前致谢。