首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Sqlite FTS4获取查询中具有术语顺序的行

Sqlite FTS4获取查询中具有术语顺序的行
EN

Stack Overflow用户
提问于 2017-12-08 19:13:29
回答 1查看 192关注 0票数 0

我的虚拟表是:

代码语言:javascript
复制
CREATE VIRTUAL TABLE docs USING fts4();

INSERT INTO docs(docid, content) VALUES(1, 'sqlite is a database');
INSERT INTO docs(docid, content) VALUES(2, 'my database is sqlite');

当我使用这个查询时:

代码语言:javascript
复制
SELECT * FROM docs WHERE docs MATCH 'sqlite AND database';

它返回表中的两条记录,因为这两条记录都包含术语"sqlite“和术语"database”。

现在,我想使用以下规则搜索包含术语"sqlite“和术语"database”的记录:

术语在文档中出现的顺序必须与它们在查询中出现的顺序相同(仅限docid为1的文档)。

有可能吗?

EN

回答 1

Stack Overflow用户

发布于 2017-12-08 19:17:22

FTS queries不能限制术语的顺序,但需要连续术语的短语搜索除外(例如,"sqlite database"sqlite is a database不匹配)。

您必须在之后限制结果:

代码语言:javascript
复制
SELECT ... WHERE docs MATCH 'sqlite AND database'
             AND content LIKE '%sqlite%database%';
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47713226

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档