以(后缀)结尾并使用SQLite FTS中的MATCH进行字符串搜索。

12 浏览
0 Comments

以(后缀)结尾并使用SQLite FTS中的MATCH进行字符串搜索。

我在我的iOS应用程序中使用了SQLite FTS扩展。它的性能很好,但问题是它只匹配字符串前缀(或以关键字搜索开头)。

例如:

这样可以工作:

SELECT FROM tablename WHERE columnname MATCH 'searchterm*'

但以下两个不行:

SELECT FROM tablename WHERE columnname MATCH '*searchterm'
SELECT FROM tablename WHERE columnname MATCH '\*searchterm\*'

是否有任何解决方法或者使用FTS构建类似于LIKE '%searchterm%'查询的方法。

编辑:

正如Retterdesdialogs指出的,将整个文本以相反的顺序存储,并在反向字符串上运行前缀搜索是解决以结束/后缀搜索问题的一种可能方法,这是我的原始问题,但它对于“包含”搜索是行不通的。我已经相应地更新了问题。

0