Android 理解FTS3/FTS4:什么是虚拟表,从中搜索具有可搜索的非虚拟表?
阅读了SQLite3的FTS3/FTS4文档的第一部分后,我感到非常困惑。我之所以感到困惑,是因为这个例子散布在网络上,我相信它并没有涵盖所有可能的用例,另一个原因是我所处的现状。话虽如此,我有一个名为Note的表,其中包含两个属性,其类型为TEXT和其他属性,这对整个应用程序非常重要 这是一张非常简单的桌子。我想提供一个全文搜索,这样我就可以同时搜索短注释和长注释,这就是我遇到这个FTS3/FTS4的时候。你看,存储这样的信息很简单,但我对设计有问题,尤其是在我的应用程序的引擎盖下发生的事情。web上的示例,特别是sdk目录中提供的SearchableDictionary示例,只显示了虚拟表的创建,实际上没有其他内容。这不是事实,对我来说也是如此。我已经有一个表,它的其他属性对应用程序非常重要,我永远不会计划将它们作为文本存储在虚拟表上!也没有类型均为文本的单个虚拟表。我可以将ShortNote和LongNote分离到单独的虚拟表中,并通过以下方式在此处进行fts:Android 理解FTS3/FTS4:什么是虚拟表,从中搜索具有可搜索的非虚拟表?,android,sqlite,full-text-search,Android,Sqlite,Full Text Search,阅读了SQLite3的FTS3/FTS4文档的第一部分后,我感到非常困惑。我之所以感到困惑,是因为这个例子散布在网络上,我相信它并没有涵盖所有可能的用例,另一个原因是我所处的现状。话虽如此,我有一个名为Note的表,其中包含两个属性,其类型为TEXT和其他属性,这对整个应用程序非常重要 这是一张非常简单的桌子。我想提供一个全文搜索,这样我就可以同时搜索短注释和长注释,这就是我遇到这个FTS3/FTS4的时候。你看,存储这样的信息很简单,但我对设计有问题,尤其是在我的应用程序的引擎盖下发生的事情。
create virtual table virtual_note_table using fts3(_ID, ShortNote, LongNote);
出于以下几个原因,我对这种方法感到不舒服:
要使两个表中的数据保持同步,可以使用触发器;请参阅上面的链接以获取示例。是的,因为我担心它会很慢。我将阅读有关外部内容的链接,并感谢您的指导。fts4的外部内容表是否适用于android中的sqlite?您好,几周前我已将此问题添加到书签中。也许它会给你一些你需要的信息:它似乎在API>=11上默认启用。查看链接。API 16是否支持外部内容表?我试图用API 16在Sony Xperia上运行它,结果它崩溃了,出现错误
vtable constructor失败