System.Data.Sqlite и FTS4
Почему, когда я пишу запрос с синтаксисом полнотекстового поиска, например:
SELECT * FROM TABLENAME WHERE TABLENAME MATCH 'ColumnA:word1 OR ColumnB:word2'
Результат запроса всегда возвращает 0 строк?
Я использую VBnet и последний провайдер Ado.net от sqlite.org
Проблема в том, что когда я пытаюсь выполнить запрос с помощью внешнего инструмента, он работает хорошо (с sqlite 3.7.9).
Есть какие-нибудь подсказки? заранее спасибо
1 ответ
Хотя System.Data.Sqlite скомпилирован с использованием SQLITE_ENABLE_FTS3
и поддерживает FTS, он не скомпилирован с SQLITE_ENABLE_FTS3_PARENTHESIS
который включает расширенный синтаксис запроса. И вы используете расширенный синтаксис запроса в своем запросе, поэтому он не работает так, как вы ожидаете.
Вам нужно либо изменить свой запрос, либо выполнить пользовательскую сборку ( следуйте процедурам сборки) System.Data.Sqlite с помощью SQLITE_ENABLE_FTS3_PARENTHESIS
определены.