类似于 LIKE 'a%' 的 FTS 查询?

Posted

技术标签:

【中文标题】类似于 LIKE \'a%\' 的 FTS 查询?【英文标题】:FTS query similar to LIKE 'a%'?类似于 LIKE 'a%' 的 FTS 查询? 【发布时间】:2014-04-02 09:09:07 【问题描述】:

是否可以利用 SQLite FTS 索引功能来获得类似于 LIKE 'a%' 查询的结果?有 MATCH 'a*' 但不一样,例如:

'hello world'
'say hello'

LIKE 'he%' 只会返回第一条记录(这是我需要的)

MATCH 'he*' 将返回两条记录

是否可以以某种方式告诉 MATCH 只比较属性的开头?

【问题讨论】:

我认为不可能,因为全文搜索本质上会查找整个单词。但可能有些人曾经可以更好地按照自己的方式行事。 【参考方案1】:

使用增强的查询语法编译时,SQLite 可以搜索以^ 开头的整个字符串,即MATCH '^he*'

【讨论】:

以上是关于类似于 LIKE 'a%' 的 FTS 查询?的主要内容,如果未能解决你的问题,请参考以下文章

是否可以将全文搜索 (FTS) 与 LINQ 一起使用?

NVL函数不使用索引而不是FTS,是不是可以修改查询

mysql查询针对concat的LIKE条件[重复]

Android 中的 FTS4 查询错误

sqlserver like '%' 性能问题

MySQL模糊查询再也不用 like+% 了。。。