无法在SQLite FTS5虚拟表上使用匹配:无法在请求的上下文中使用函数MATCH

use*_*218 3 sqlite

尝试在SQLite 3.13.0中使用FTS5时,一个简单的测试失败.我究竟做错了什么?

SQLite version 3.13.0 2016-05-18 10:57:30
CREATE VIRTUAL TABLE testfts USING FTS5(test);
INSERT INTO testfts VALUES("some test string");
SELECT * FROM testfts WHERE test MATCH 'test';
Error: unable to use function MATCH in the requested context
Run Code Online (Sandbox Code Playgroud)

red*_*neb 13

试试这个:

SELECT * FROM testfts WHERE testfts MATCH 'test';
Run Code Online (Sandbox Code Playgroud)

要么

SELECT * FROM testfts WHERE testfts MATCH 'test:test';
Run Code Online (Sandbox Code Playgroud)

第一个将搜索表的所有列以查找testfts字符串test.第二个将仅将搜索限制为列test(这test:是查询字符串中的前缀所执行的操作).这两个在这里是等价的,因为只有一列.