我已经编译了sqlite3.6.2的fts3模块。如何构建虚拟表并对已有表的某些字段进行搜索(如tweet中的content:string )?ft3是否支持模糊搜索?(我检查了文档,但仍然非常困惑……)。
发布于 2011-02-12 02:41:44
您可以像这样简单地搜索两个字段。你必须使用联合。
string createSql = "CREATE VIRTUAL TABLE TweetFts USING FTS3(TweetId, Title, Description)";
string insertSql = "INSERT INTO TweetFts (TweetId, Title, Description)
SELECT TweetId, Title, Description FROM Tweet";
string sql = @"select TweetId from TweetFts where Title match '" + allWords + "'";
sql += " union ";
sql += @"select TweetId from TweetFts where Description match '" + allWords + "'";
sql += " union ";
sql += @"select TweetId from TweetFts where Title match '""" + exactMatch + @"""'";
sql += " union ";
sql += @"select TweetId from TweetFts where Description match '""" + exactMatch + @"""'";运行这个查询,您就有了一个匹配的Tweet列表。
除了使用*的前缀搜索之外,我没有看到任何模糊的东西。
有一个soundex函数。
https://stackoverflow.com/questions/4966478
复制相似问题