0

我无法在 Query 中使用多个匹配函数,filter()其中单个 match() 工作正常,但是当我开始使用两个以上 match() 时,它会出现类似错误

断言失败:无法在请求的上下文中使用函数 MATCH:文件 /Users/rspl/Desktop/Tests/SqliteSwiftDemo/SqliteSwiftDemo/SQLiteSwift/Statement.swift,第 196 行

以下示例会产生问题:

emails.filter(  match("xyz", body) && match("wonder*", body))

还有其他替代品吗?或者我犯了错误。

我只想要来自相同或不同列的两个同时匹配。

4

2 回答 2

0

FTS 只允许每个 SELECT 语句有一个“匹配”。你可以试试这个

emails.filter(match("xyz", body)).filter(match("wonder*", body))
于 2015-06-16T10:53:55.730 回答
0

您只能在 Select 语句中使用一个 MATCH,但您可以使用以下方法来实现这一点,

SELECT * FROM fts_table WHERE fts_table MATCH 'A:XXX OR B:YYY'假设 A,B 是列名

于 2015-08-13T19:07:09.340 回答