在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
答案 0 :(得分:12)
请改为尝试:
SELECT * FROM testfts WHERE testfts MATCH 'test';
或
SELECT * FROM testfts WHERE testfts MATCH 'test:test';
第一个将搜索表testfts
的所有列以查找字符串test
。第二个将仅将搜索限制为列test
(这是查询字符串中test:
前缀的作用)。这两个在这里是等价的,因为只有一列。