SQLite 查询全文搜索以在两侧匹配,如 LIKE

kan*_*udo 7 sqlite android fts3

我在 Android 的 SQLite FTS 中遇到双方 MATCH 的问题。

假设我的虚拟 FTS 表中有此文本项

  1. 你好世界我在这里
  2. 你好世界我在这里
  3. 你好世界我在这里

我想实现搜索字符串“世界”我应该得到所有这三个结果。

我可以使用LIKE%通配符 as来实现这一点WHERE column LIKE '%World%',但这并不意味着随着数据的增长而使用。所以我使用MATCH*通配符与全文搜索虚拟表作为WHERE column MATCH 'World*'

但是这样我就得到了这个结果......

  1. 你好世界我在这里

我应该如何实现 MATCH 查询以获取所有三个项目作为结果

CL.*_*CL. 2

FTS 允许您仅搜索由分词器生成的术语。

FTS 索引中没有允许快速搜索后缀的信息。您必须使用 LIKE,或者手动构建自己的索引。