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