【发布时间】:2013-04-23 14:19:06
【问题描述】:
我需要将 FTS 添加到现有数据库。
开始测试外部内容 FTS 表,其中 FTS 索引驻留在默认(主)数据库中。一切都令人满意,除了一些事情(例如索引重建)可能需要相当长的时间。
然后我读到了将 FTS 索引放入附加数据库的可能性。这似乎有几个好处,因此我决定试一试。然而,我所有的尝试都失败了。以下是几个例子:
情况
我们有一个表“帐户”,其中包含文本列“代码”,并且
要为该列创建 FTS 索引并将其放入单独的数据库文件中
Test1) 错误:“.”附近:语法错误
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');
有人知道这些东西是如何工作的吗?提前致谢。
【问题讨论】:
标签: sqlite