这就是我想要做的事情。
用户(a): 在两个字段(描述-1)和(描述-2)中输入数据。
用户(b)在相反的字段中输入类似的数据。
用户(a)或(b)搜索两个字段都会找到匹配。
一个很好的类比是约会搜索。用户(a)输入他们自己的描述以及他们正在寻找的匹配,并且用户(b)输入他们自己的描述以及他们正在寻找的匹配。两者都能够进行搜索并找到匹配。
所以在psuedo查询英文...
从我='目标'和目标='我'
的数据中选择名称问题是,该领域的一些词会匹配,但不是全部。
答案 0 :(得分:5)
无论采用何种技术,这种匹配都很难。你可能咬得比你咀嚼的还要多。
我向您推荐的是阅读PostgreSQL中的Text Search数据类型 PostgreSQL为全文搜索提供了灵活而强大的解决方案,它可以满足您的需求,而SQLite可能不会。
使用PostgreSQL tsquery
和tsvector
data types,您可以将一个用户的说明转换为查询其他用户描述的表单。 tsquery和tsvector都可以动态生成或保存在数据库列中并编制索引。
如果您仍然需要使用SQLite,则需要了解各种FTS虚拟表类型。这些都是实验性的,默认情况下不启用。因此,您需要重新编译SQLite,启用FTS1,FTS2或FTS3。
这些功能的文档非常稀少。以下是我发现的全部内容: