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 определены.

Другие вопросы по тегам