我已经为 sqlite3.6.2 编译了 fts3 模块。如何构建虚拟表并在现有表的某些字段上执行搜索(如推文中的内容:字符串)? ft3 是否支持模糊搜索? (我检查了文档,但仍然非常困惑......)。
最佳答案
您可以像这样简单地搜索 2 个字段。你必须使用工会。
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 + @"""'";
运行此查询,您将获得匹配的推文列表。
除了使用 *.
有一个soundex函数。
关于sql - 如何使用 sqlite fts3 执行全文搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4966478/