我通过 C 库(如果重要)在 Linux 上使用 sqlite3 进行全文搜索,并且有问题的数据库是FTS4
我将一些文件名存储在数据库中,然后将它们搜索为:
SELECT file_name FROM leTable WHERE file_name MATCH 'le name'
到目前为止还不错,但是当我想搜索时
SELECT file_name FROM fs_index WHERE file_name MATCH 'le-name'
SELECT file_name FROM fs_index WHERE file_name MATCH 'le[name]'
然后它失败了,因为 sqlite 将-
其视为特殊字符,它给了我文件名,包括le
但不包括name
.
[
当我使用字符或]
匹配查询时会发生类似的事情。
使用\
没有帮助,所以我怎样才能转义这些字符以在匹配查询中使用它们?