如何在SQLite FTS3查询中转义-字符?
我正在使用Python和SQLAlchemy来查询一个SQLite的全文搜索数据库(FTS3),我想要阻止我的用户把“-”当作操作符来使用。请问我该如何处理这个“-”,让用户可以搜索包含“-”的词(这是通过更改默认的分词器来实现的),而不是让它表示“后面这个词不包含在内”?
2 个回答
0
根据这个文档,看起来这件事实际上是做不到的。你可以试着在搜索之前,把你的-
替换成空格……
1
在网上其他地方看到,似乎可以用双引号把每个搜索词包起来,比如 "某个词"。因为我们不需要减法操作,所以我的解决办法是在建立搜索索引和进行搜索时,把连字符 -
替换成下划线 _
。