我正在尝试对sqlite3进行全文搜索,但是当包含特殊字符时,我无法搜索任何结果。
表“ messages”具有以下模式
,其中包含一条记录,该记录包含文本$100
和searchid dfjkgndfsj
我曾尝试使用此查询创建表
CREATE VIRTUAL TABLE messages_fts
USING fts5(
content = 'messages',
content_rowid = 'searchid',
tokenize = "unicode61 remove_diacritics 0",
text,
);
但是,当我尝试使用
进行搜索时SELECT *
FROM messages
WHERE fromid != 0 and searchid IN
(SELECT rowid FROM messages_fts WHERE messages_fts MATCH '"$*"' limit 30)
,没有结果返回
此外,如果我尝试使用
进行搜索SELECT *
FROM messages
WHERE fromid != 0 and searchid IN
(SELECT rowid FROM messages_fts WHERE messages_fts MATCH '"$10*"' limit 30)
,找到记录
如果我尝试使用
进行搜索SELECT *
FROM messages
WHERE fromid != 0 and searchid IN
(SELECT rowid FROM messages_fts WHERE messages_fts MATCH '"-10*"' limit 30)
,也找到了记录
请帮助指出我可能错过/做错的任何事情,谢谢。