SQLite查询 - 需要全文搜索帮助

时间:2009-08-10 23:40:56

标签: sqlite full-text-search

这就是我想要做的事情。

用户(a): 在两个字段(描述-1)和(描述-2)中输入数据。

用户(b)在相反的字段中输入类似的数据。

用户(a)或(b)搜索两个字段都会找到匹配。

一个很好的类比是约会搜索。用户(a)输入他们自己的描述以及他们正在寻找的匹配,并且用户(b)输入他们自己的描述以及他们正在寻找的匹配。两者都能够进行搜索并找到匹配。

所以在psuedo查询英文...

从我='目标'和目标='我'

的数据中选择名称

问题是,该领域的一些词会匹配,但不是全部。

1 个答案:

答案 0 :(得分:5)

无论采用何种技术,这种匹配都很难。你可能咬得比你咀嚼的还要多。

我向您推荐的是阅读PostgreSQL中的Text Search数据类型 PostgreSQL为全文搜索提供了灵活而强大的解决方案,它可以满足您的需求,而SQLite可能不会。

使用PostgreSQL tsquerytsvector data types,您可以将一个用户的说明转换为查询其他用户描述的表单。 tsquery和tsvector都可以动态生成或保存在数据库列中并编制索引。

如果您仍然需要使用SQLite,则需要了解各种FTS虚拟表类型。这些都是实验性的,默认情况下不启用。因此,您需要重新编译SQLite,启用FTS1,FTS2或FTS3。

这些功能的文档非常稀少。以下是我发现的全部内容: