如何使用sqlite fts3执行全文搜索

时间:2011-02-11 07:11:23

标签: sql sqlite full-text-search

我已经为sqlite3.6.2编译了fts3模块。如何构建虚拟表并在现有表的某些字段上执行搜索(如内容:推文中的字符串)? ft3支持模糊搜索吗? (我检查了文档,但仍然非常困惑......)。

1 个答案:

答案 0 :(得分:2)

你可以做一些简单的事情来搜索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功能。