2
我为sqlite3.6.2编译了fts3模块。如何构建虚拟表并在某些现有表的字段上执行搜索(如内容:tweets中的字符串)? ft3是否支持模糊搜索? (我查了文档,但仍然非常困惑......)。如何使用sqlite执行全文搜索fts3
我为sqlite3.6.2编译了fts3模块。如何构建虚拟表并在某些现有表的字段上执行搜索(如内容:tweets中的字符串)? ft3是否支持模糊搜索? (我查了文档,但仍然非常困惑......)。如何使用sqlite执行全文搜索fts3
你可以做一些简单的事情来搜索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函数。
谢谢。这解决了我的问题。 :) – lkahtz 2011-02-12 03:09:12