这更像是一个设计问题 - 而不仅仅是编码问题。
我已经有一个将数据存储在SQLite数据库表中的应用程序。现在我想在此添加搜索功能。
据我所知,为了启用搜索功能,我需要FTS表。
我拥有的表格(不完全相同,但给出了非常相似的例子):
内容表 - 包含以下列:Id,标题,内容,创建者,创建者,更改者,更改者等...
评论表 - 包含以下列:Id,评论,创建者,创建者,回复者等等。
其他表格,如用户数据,元数据,类别,标签等。
这里我只想要标题,内容和评论的搜索功能。显然,我不需要像其他列那样的搜索功能。
哪个是最佳选择?
我在选项1中看到的问题是:
我在选项2中看到的问题是:
那么,最好的选择是什么? 是否有任何机构面临类似的挑战?
答案 0 :(得分:11)
对于非FTS搜索,无法有效查询FTS表,因此选项1已用完。
整个FTS表基本上都是一个索引。这是一个速度/空间权衡,并且进行全文搜索的能力通常是值得的。 要避免将原始文本存储两次,请使用external content tables。
要使原始表和FTS表保持同步,请使用触发器。