Sqlite FT3 或 FT4 可以做类似的事情吗
SELECT * FROM MyTable WHERE body MATCH '*qlite'
我知道这个:
SELECT * FROM MyTable WHERE body MATCH 'Sqlite*'
有效,但似乎是
'%like'
像操作在全文中不起作用。
最佳答案
据我所知,这是 FTS 的一个限制,跨平台,后缀/后缀搜索是不可能的。
我见过的最好的解决方法是向 MyTable 添加一个名为 ReverseBody 的列,并将 Body 列的反向存储在那里,并将其添加到 FT 索引中。然后你写这样的查询
select * from MyTable where reversebody match (REVERSE('qlite') + '*')
我在 SQL Server 中工作,所以我们有一个内置的 REVERSE。我认为 SQLite 没有,但是您可以添加自定义函数来完成它的描述 here
关于sqlite全文通配符搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8632678/