Я пытаюсь реализовать полнотекстовый поиск для 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)
, запись также будет найдена
Пожалуйста, помогите указатьвсе, что я мог упустить / сделать неправильно, спасибо.