FTS SQL 数据库中的 select 条目如何只匹配查询的一部分?
How can you select entries in a FTS SQL db that only matches part of the query?
CREATE VIRTUAL TABLE TEST USING FTS5(SomeText);
INSERT INTO TEST(SomeText) VALUES
('Covid 19');
SELECT SomeText
FROM TEST
WHERE SomeText MATCH 'sars covid 19';
=> 没有结果
我如何确保这也是 returns 带有 'Covid 19' 的列?是否有一个扩展或功能认为这可以使 sql 命令简单?
fiddle: https://dbfiddle.uk/?rdbms=sqlite_3.27&fiddle=defbd331c8469e05ea6a107df10738a2
我认为在这种情况下使用的语法是 'Covid 19 OR sars'。
例如:
CREATE VIRTUAL TABLE TEST USING FTS5(SomeText);
INSERT INTO TEST(SomeText) VALUES
('Sars'),
('Covid 19'),
('Covid 19 but also Sars'),
('Some other stuff');
SELECT SomeText
FROM TEST
WHERE SomeText MATCH 'Covid 19 OR sars';
Returns 结果如下:
Sars
Covid 19
Covid 19 but also Sars
您可以查看以下内容fiddle here
另请参阅:https://www.sqlitetutorial.net/sqlite-full-text-search/here
CREATE VIRTUAL TABLE TEST USING FTS5(SomeText);
INSERT INTO TEST(SomeText) VALUES
('Covid 19');
SELECT SomeText
FROM TEST
WHERE SomeText MATCH 'sars covid 19';
=> 没有结果
我如何确保这也是 returns 带有 'Covid 19' 的列?是否有一个扩展或功能认为这可以使 sql 命令简单?
fiddle: https://dbfiddle.uk/?rdbms=sqlite_3.27&fiddle=defbd331c8469e05ea6a107df10738a2
我认为在这种情况下使用的语法是 'Covid 19 OR sars'。
例如:
CREATE VIRTUAL TABLE TEST USING FTS5(SomeText);
INSERT INTO TEST(SomeText) VALUES
('Sars'),
('Covid 19'),
('Covid 19 but also Sars'),
('Some other stuff');
SELECT SomeText
FROM TEST
WHERE SomeText MATCH 'Covid 19 OR sars';
Returns 结果如下:
Sars
Covid 19
Covid 19 but also Sars
您可以查看以下内容fiddle here
另请参阅:https://www.sqlitetutorial.net/sqlite-full-text-search/here