System.Data.Sqlite и FTS4 - PullRequest
       60

System.Data.Sqlite и FTS4

2 голосов
/ 03 апреля 2012

Почему, когда я пишу запрос с синтаксисом полнотекстового поиска, например:

SELECT * FROM TABLENAME WHERE TABLENAME MATCH 'ColumnA:word1 OR ColumnB:word2'

Результат запроса всегда возвращает 0 строк?

Я использую VBnet и последний провайдер Ado.net из sqlite.org

Проблема в том, что когда я пытаюсь выполнить запрос с помощью внешнего инструмента, он работает хорошо (с sqlite 3.7.9).

Есть какие-нибудь подсказки? Заранее спасибо

1 Ответ

3 голосов
/ 03 апреля 2012

Хотя System.Data.Sqlite скомпилирован с использованием SQLITE_ENABLE_FTS3 и поддерживает FTS, он не скомпилирован с SQLITE_ENABLE_FTS3_PARENTHESIS, который включает Расширенный синтаксис запроса . И вы используете расширенный синтаксис запроса в своем запросе, поэтому он не работает так, как вы ожидаете.

Вам необходимо либо изменить запрос, либо выполнить пользовательскую сборку ( следовать процедурам сборки ) System.Data.Sqlite с определением SQLITE_ENABLE_FTS3_PARENTHESIS.

...