SQLite FTS3 - 在多个表上进行全文搜索

时间:2014-10-09 10:41:28

标签: sql sqlite full-text-search fts3

我的brand_name表格中有brand_names列,product_name表格中有product_names列。

目前,我有两个单独的SELECT(一个在brand_names.brand_name上,一个在product_names.product_name上)并且我使用UNION将两个结果集组合在一起。但是,当搜索" SomeBrandName Some Product Name"时,即使存在这样的产品,我的SQL也会返回零结果(这是因为术语 - SomeBrandName Some { {1}}和Product - 不所有出现在Name中,并且他们不会所有出现在{{ 1}})。

所以我需要帮助来解决SQLite / FTS3等同于...的问题。

brand_names.brand_name

我需要实现的实际SQLite / FTS3 SQL是什么?

在研究方面,我已经阅读了SQLite FTS3 guide,但它没有提到多个表格。

我还看到similar question更高级,所以我在这里尝试的简单搜索可能会有点过分。

2 个答案:

答案 0 :(得分:0)

FTS搜索只能在FTS索引中进行。

如果您想获得“品牌产品”的结果,则必须创建一个包含这些单词的FTS表。 (要减少存储空间,请尝试在视图上使用external content table。)

答案 1 :(得分:0)

为此,您必须为两个表准备第一个虚拟表。 然后,您可以使用与使用简单表的连接相同的连接对它们应用索引搜索(FTS搜索)。