我在Linux上使用sqlite3通过C库(如果重要的话)进行全文搜索,并且有问题的数据库是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
的文件名。
[
或]
时会发生类似的事情。
使用\
没有帮助,所以如何在匹配查询中转义这些字符以使用它们?